全文検索インデックスライブラリ Lucene の C# 移植版である Lucene.Net がインキュベータから昇格して,Apache のトッププロジェクトになった。今回の記事では,同プロジェクトと Solr.Net の今後について Prescott Nasser 氏に尋ねたインタビューを紹介する。
その名の示すとおり,Java で実装された Lucene テキスト検索エンジンライブラリの移植版である Lucene.Net は,2006 年に Apache のインキュベータ・プロジェクトとしてスタートした。しかし開発は何度となく停滞し,2010 年には svn に 数件のコミット があるのみという状況に陥っている。それでも 2011 年にプロジェクトは復活し,2.9.2, 2.9.4, 2.9.4g がリリースされた。その最新ニュースが インキューベータからの卒業 と,Apache トッププロジェクトへの昇格である。今後数週間の内に,新たな web サイトが用意されるはずだ。今回のニュースからは Lucene.Net がアクティブであること,Apache からも健全なプロジェクトであると認識されていることが分かる。
Lucene.Net チームは現在,間もなくリリース予定の 3.0.3 準備中である。プロジェクトのコミッタである Prescott Nasser 氏は InfoQ のインタビューに対して,その内容が Lucene / Java の同バージョンに相当するものであることを認めている。
3.0.3 は Java Lucene 3.0.3 相当の機能になる予定です。これには関連性があって,今後はバージョン番号を一致させる予定です。ただし Lucene.Net.Contrib パッケージの機能については同等ではありません。私たちのコミュニティはまだ小さく,最新のものに合わせていくのはちょっと難しいからです。
チームには現在,2つの .NET リリースがある。一方がジェネリックをサポートしているものだが,この状況は将来的には変更される予定である。
API を (Java の規則よりも) .NET の規則により準拠させるにはどうすればよいか,これまで多くの議論を重ねてきました。実際にジェネリックブランチ (2.9.4g) の方が 2.9.4 に比べて,より多くの .NET 記法を使用しています。今後私たちの目指すべき方向としては,まず第1に Java Lucene の開発速度に追いつくこと,第2にもっと .NET ライクなものにすること,この2つでしょう。2つのブランチは統合されると思います - あるいは,もしかしたら 2.9.4g ブランチが破棄されて,これらの機能がトランクに取り入れられることになるかも知れません。
Lucene/Java に追い付きたいという意図は,プロジェクトの ロードマップ からも伺える。しかし Nasser 氏も認めているように,そこには期限が設定されていない。"キャッチアップのための漠然としたロードマップはあるのですが,スケジュールができていないのです。私たちの次のリリース予定は 3.6 ですが,4.0 には大きな遅れを取ることなく到達したいと思っています。"
Solr.net プロジェクトを立ち上げる可能性について Nasser 氏は,次のようにコメントした。
Solr.NET について話題にはしています。しかし現実的に私たちには,それを実現するだけのリソースがないのです。メリットは十分理解していますし,コミュニティ内にニーズがあることも知っているのですが。その他に,.NET 用 tiki プロジェクトなども実現したいと思っています。
一方で Apache は,Java Lucene & Solr 4.0 Beta を発表した。プラグイン可能なコーデックアーキテクチャ,柔軟性の高いスコアリング,ドキュメントバリュー API,フィールド API,最適化などの新機能を備えている。詳細は Lucene のコミッタで,PMC メンバでもある Mike McCandless 氏のこの 記事 で説明されている。