2

次のような数値カテゴリ ID を持つ Elasticsearch インデックスがあります。

{
  "id": "50958",
  "name": "product name",
  "description": "product description",
  "upc": "00302590602108",
  "**categories**": [
    "26",
    "39"
  ],
  "price": "15.95"
}

カテゴリ ID の配列 (たとえば、すべての子を持つ親 ID) を渡し、それらのカテゴリのいずれかに一致する結果のみを返すことができるようにしたいと考えています。用語クエリで動作させようとしていますが、まだ運がありません。

また、elasticsearch の新規ユーザーとして、これにフィルター/ファセットを使用する必要があるかどうか疑問に思っています...

答えた!私は(termではなく)termsクエリを使用することになりました。フィルターまたはファセットを使用する利点があるかどうかを知りたいと思っています。

4

1 に答える 1

0

すでに発見したように、termQueryは機能します。ただし、フィルターはより高速でキャッシュ可能であるため 、 termFilterをお勧めします。

ファセットは結果を制限しませんが、優れたツールです。特定の用語の合計結果内のヒットをカウントし、ファセットナビゲーションに使用されます。

于 2012-09-01T16:33:09.480 に答える