Solr vs elasticsearch 類似文書検索(ドキュメントの登録)

こんにちは、馬場です。
前回に続き、全文検索エンジンのSolr と elasticsearchの比較を行いたいと思います。今回はドキュメントの登録です。

クライアントプログラムはScalaで実装します。どちらもJavaのAPI を提供しているので、それを利用しようと思います。

※ この記事では、Solr 4.6.0 とelasticsearch 0.90 の比較を行います。

Solr の場合

SolrでJava クライアント APIを利用する場合、sbt に以下のjarを登録します。

次にドキュメントを登録するサンプルコードです。

addFieldメソッドで指定するフィールドの名前と値の型は、前回schema.xml で設定したものと同じです。

elasticsearchの場合

elasticsearch のJava のAPIを利用する場合、sbtに以下のjarを登録します。

ドキュメントは以下のように登録します。

elasticsearchでは、あらかじめスキーマを定義しておく必要はありません。HashMapに設定した名前と型の通りにドキュメントを登録してくれます。
TransportAddress で指定するアドレスのポート番号は9300 で、REST APIのポート番号(9200)と異なるので、注意が必要です。

まとめ

今回はドキュメントの登録について比較しました。プログラムはMapを作って渡す形式なので、両者ほとんど差がない、と感じました。

次回(最終回)は、類似文書検索のプログラムの比較をします。

Both comments and trackbacks are currently closed.