9

SolrMeter を使用して Apache Solr 検索エンジンをテストしています。ファセット フィールドとフィルター クエリの違いは明確ではありません。SolrMeter チュートリアルでは、これをファセット フィールドの例として挙げています。

content
category
fileExtension

これはフィルタークエリの例です:

category:animal

category:vegetable
categoty:vegetable price:[0 TO 10] 
categoty:vegetable price:[10 TO *] 

私はそれに頭を包むのに苦労しています。誰かが例で説明できますか? ファセットまたはフィルターを指定せずに SolrMeter を使用できますか?

4

2 に答える 2

15

ファセット フィールドは、返されたドキュメントに関する統計を取得するために使用されます。具体的には、そのフィールドの各値について、返されたドキュメントの数がそのフィールドにその値を持っています。たとえば、「soft rug」のクエリに一致する商品が 10 個ある場合、「origin」をファセットすると、「Oklahoma」で 6 個、「Texas」で 4 個のドキュメントが取得される可能性があります。ファセット フィールド クエリでは、数字の 6 と 4 が得られます。

一方、フィルター クエリは、別の制約を追加して、返された結果をフィルター処理するために使用されます。覚えておくべきことは、クエリが結果のフィルタリングに使用される場合、ドキュメントのスコアリングや関連性には影響しないということです。たとえば、製品のインデックスを検索する場合がありますが、地理的な領域などによって制限された結果のみを返したいとします。

于 2012-07-13T20:13:36.993 に答える
2

ファセットはドキュメントのフィールド (タイプ) であるため、カテゴリはフィールドです。アンサリが言ったように、ファセットは統計を取得し、グループ化機能を提供するために使用されます。categoryフィールドにグループ化を適用して、すべてvegetableを 1 つのグループとして表示できます。

編集:特定のフィールド内の検索に関する部分が間違っています。フィールド内のみを検索するわけではありません。代わりに「検索に制約を追加する」必要があります。

のフィルター クエリを実行すると、ドキュメントのフィールドcategory:vegetableが検索さvegetableれ、category他のフィールドは検索されません。すべてのフィールドではなく、特定のフィールドのみを検索するために使用されます。必要な用語だけが 1 つのフィールドにあることがわかっている場合は、その 1 つのフィールドだけを検索できます。

于 2012-07-13T20:18:31.133 に答える