全文検索ライブラリ「Apache Lucene 6.0」リリース、新たに多次元データをサポート

 オープンソースの非営利団体Apache Software Foundation(ASF)は4月8日、全文検索ライブラリ「Apache Lucene 6.0.0」およびLuceneベースの検索プラットフォーム「Apache Solr 6.0.0」をリリースした。

 Apache LuceneはJavaで実装されたテキスト全文検索ライブラリ。分野を問わず、全文検索を必要とするほぼすべてのアプリケーションに利用できるとしている。また、SolrはLuceneを使って構築された検索プラットフォーム。

 Lucene 6では、Java 8が最小要件となった。また、新たに二次元/三次元などの多次元データがインデックスやドキュメント、コーデックAPIでサポートされるようになった。kd木ベースのデータ構造を使って処理を行うもので、これにあわせてIntFieldやLongFieldといった数値型フィールドタイプは非推奨となった。

 KNearestNeighborClassifierやSimpleNaiveBayesClassifierといったドキュメント分類を行うためのモジュールも新たに追加されている。そのほか、TermsQueryのパフォーマンス向上IndexSearcherで使われるデフォルトの類似度として「BM25Similarity」が採用されるといった変更点もある。

 Solr 6.0ではLuceneの新機能を活用できるほか、非推奨となっていたSolrServerおよびそのサブクラスが削除された。代わりにSolrClientを利用する必要がある。また、同じく非推奨となっていたスキーマ向けGETメソッドの代わりとして、Bulk APIが利用できるようになった。ただし、その出力には互換性がないという。

 そのほかストリーミングAPIに新機能が加わり、クエリ演算子としてグラフ走査を有効にするGraphQueryも導入されている。

Apache Lucene
https://lucene.apache.org/

Apache Solr
http://lucene.apache.org/solr