【アパッチソーラー】
Apache Solr とは?
最終更新:
💡 Luceneの力を企業規模で使うための「検索の司令塔」。
Apache Luceneを基盤とするオープンソースの検索プラットフォーム。文書を索引に登録し、HTTP経由で全文検索やカテゴリ別の件数集計などを提供する。
📌 このページのポイント
- Apache Luceneを検索の基盤に使い、アプリからHTTP経由で利用できる
- ファセットは検索結果をカテゴリに分け、各カテゴリに該当する文書数を返す
- SolrCloudでは索引をシャードに分け、レプリカを配置して分散検索する
- ZooKeeperのクラスタ情報を利用する。検索結果の完全性は各シャードの応答や設定による
Solrは何をするもの?
Luceneとは別物なの?
ファセット検索って何?
検索に一致した商品を「本:12件、家電:8件」のようにカテゴリと件数にまとめる機能だよ。この件数は説明用の例。利用者が結果を見渡し、絞り込む手がかりになるんだ。
SolrCloudでは何を分散するの?
索引をシャードという単位に分け、コピーであるレプリカを配置するよ。検索を受けたノードが各シャードへ問い合わせ、応答をまとめて返すんだ。ZooKeeperのクラスタ情報も利用するよ。
サーバーが落ちても検索できる?
必要な各シャードのレプリカと通信できれば検索を続けられるよ。シャードが応答できないと既定では失敗する。部分結果を許す設定もあるけれど、全件を調べた結果と同じ扱いにはできないね。
まとめ:ざっくりこれだけ覚えればOK!
「Apache Solr」って出てきたら「LuceneベースのOSS全文検索エンジン」と思えればだいたいOK!
📖 おまけ:英語の意味
「Apache Solr」 = Luceneを基盤とする検索プラットフォームの名前
💬 Apacheプロジェクトの一つだよ。検索の基盤になるライブラリLuceneと、検索サービスの機能をまとめたSolrを区別しよう。