Elasticsearchのサーバーはすでにあり、新しい取り組みにElasticsearchを使おうと思ったときのメモです
Elasticsearchのサーバー構成やセットアップはこちらから
http://engineer.wantedly.com/2014/02/25/elasticsearch-at-wantedly-1.html
ざっくり
- データを保存する
- ドキュメントとは、ひとつひとつのオブジェクトを入れる
- ドキュメントタイプとは、ひとつのインデックスに異なるオブジェクトを格納する時に利用する。ドキュメントタイプは、ドキュメントに対してひとつ紐づく。
- 例) wantedly_indexに対してproject_typeとcompany_typeを作って、projectとcompanyそれぞれのドキュメントを保存する。
- インデックスを作成する
- マッピングというインデックスを作成するためのフォーマットを作って、インデックスを作成する
- クエリを作成する
- クエリとフィルターがある。
- フィルターは、キャッシュされ、スコアに影響しない
クエリの重み付けをどうするか
- クエリブーストというもので実装。
- 複雑なら、function scoreクエリを利用する
- boost_modeには、multiply, replace, sum, avg, max, minの6つがある
- score_modeには、first, min, max, total, avg, multiplyがある
参考
- 実践 Elasticsearch http://engineer.wantedly.com/2014/02/25/elasticsearch-at-wantedly-1.html
- 高速スケーラブル検索エンジン
http://www.amazon.co.jp/%E9%AB%98%E9%80%9F%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9%E3%83%96%E3%83%AB%E6%A4%9C%E7%B4%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3-ElasticSearch-Server-Rafal-Kuc/dp/4048662023