Solrについて

Solrとは

Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™.

Apache Solr -

こちらの記事が要点を抑えていてわかりやすいです。

qiita.com

形態素解析

文章を単語ごとに分解する方法。

例:「東京特許許可局」 →「東京」「特許」「許可局」

意味のわからないトークンが作られない一方、例えば「京特」で調べた時に引っかからないという事が起こる。

N-gram

文章をN文字で機械的に分解する方法。

例:「東京特許許可局」N=2 →「東京」「京特」「特許」「許許」「許可」「可局」

検索する文字に対して漏れなく結果を返せる反面、それが全く関連のないノイズとなりえる。

転置インデックス

データソースとトークンの間のM:N関係。

動かしてみる

こちらの記事を参考にdockerで動かしてみます。

$ docker pull solr
$ docker run -d --name=solr -p8983:8983 solr

NOTE: docker run をすると8983ポートでsolrが起動します。もし以下のTutorialのようにSolrCloudを試したい場合は違うポートを繋いでおき、コンテナ内で別プロセスを立ち上げるのが楽です。またその後任意のコマンドを実行する際にはポートを指定する必要があるので注意。

疑問

  • Schemaの書き方
  • 検索の適合度
  • 地理検索機能の実例

Refs