Solr
Solrとは
- Lucid imagianation
-
主な機能
- 高関連性全文検索
- ヒット・ハイライト処理
-
ファセット付き検索
- カテゴリごとに分類される
- database統合
-
構造化文書解析
- word,pdfも解析可能
- 索引複製
- 分散化検索
高スケーラビリティ
単一のLucene/Solr索引のスケーラビリティ
- 20憶のdocument
スケーラビリティの例
-
10憶の文書の索引
- wikipediaページ
- 索引サイズ1.2テラ
- シャード数:100
- response:50ms
-
デジタルライブラリー
- 560万本
- 5テラのtext
- 3テラを超える索引サイズ・何十億ものユニーク項目
- シャード数:10
高スケーラビリティを実現するベストプラクティス
-
複製によるメリット
- 高可用性
- 検索システムの能力
-
複数シャードへの分散化によるメリット
- 平行度の向上
- キャッシュされるindexの割合の向上
- HWを2倍にすることで、perfomanceが4倍になる
-
文書IDで分割
- シャード=hash
- 既存文書の更新に有効
- クラスターのサイズ変更は難しい
- シャードを追加すると、reindexをしなければいけないため難しい
-
日付による分割
- スケーラビリティは簡単
- データの削除も簡単
-
分割により、シャードの部分集合に対する問い合わせを実現
- mail box search --> devide an user id.
今後実装される機能
Solr cloud
-
apache zookeeperとの統合
- zookeperで追跡することができる中央制御機構を持つ
-
マスタと検索用サーバの分離をやめる
- すべての検索用サーバで最新のindexを持つ
- Amazon Dynamo,Cassndra
空間検索
- 距離機能
- 距離フィルタリング
近リアルタイム検索
- ソート用のセグメントごとのfieldcache
- セグメントごとのファセット処理
フィールドの折りたたみ
- カテゴリごとに折りたたむことで表示
-
web searchでウェブサイト別に折りたたむ