Apache-solr-faceting
Apache Solr-ファセット
Apache Solrのファセットとは、検索結果をさまざまなカテゴリに分類することです。 この章では、Apache Solrで利用可能なファセットの種類について説明します-
- クエリファセット-指定されたクエリにも一致する現在の検索結果のドキュメントの数を返します。
- 日付ファセット-特定の日付範囲内にあるドキュメントの数を返します。
ファセットコマンドは通常のSolrクエリリクエストに追加され、ファセットカウントは同じクエリ応答で返されます。
ファセットクエリの例
フィールド faceting を使用して、すべての用語のカウント、または特定のフィールドの上位の用語のみを取得できます。
例として、さまざまな書籍に関するデータを含む次の books.csv ファイルを考えてみましょう。
上記のコマンドを実行すると、指定された .csv ファイルに記載されているすべてのドキュメントがApache Solrにアップロードされます。
次に、コレクション/コア my_core に0行のフィールド author でファセットクエリを実行します。
Apache SolrのWeb UIを開き、ページの左側で、次のスクリーンショットに示すように、チェックボックス facet をオンにします。
チェックボックスをオンにすると、ファセット検索のパラメーターを渡すために、さらに3つのテキストフィールドがあります。 ここで、クエリのパラメーターとして、次の値を渡します。
最後に、[クエリの実行]ボタンをクリックしてクエリを実行します。
実行すると、次の結果が生成されます。
著者に基づいてインデックス内のドキュメントを分類し、各著者が投稿した書籍の数を指定します。
JavaクライアントAPIを使用したファセット
以下は、Apache Solrインデックスにドキュメントを追加するJavaプログラムです。 このコードを HitHighlighting.java という名前のファイルに保存します。
端末で次のコマンドを実行して、上記のコードをコンパイルします-
上記のコマンドを実行すると、次の出力が得られます。