検索エンジンとフィルタエンジンをElasticsearchに変更する予定です。多くのドキュメントを調べることによって、私はelasticsearchがファセットを作成する能力を持っていることを発見しました。私は、私の左のフィルタナビゲーションサイドバーにいくつかの面を作り、elastsearchのカテゴリフィールドを使ってフィルタリングして私の製品とファセットをクエリしました。Elasticsearchでの完全一致(ファセット検索)
しかし、私はどのように選択されたファセットのelasticsearchに問い合わせるのか分かりません。
私はelasticsearch PHPクライアントのbodyタグに
'filter' => [
'bool' => [
'must' => [
['match_phrase' => [ 'Material' => 'Aluminum' ]],
['match_phrase' => [ 'Length' => '1/2']]
]
]
]
にこのコードを使用していました。それは実際に動作しますが、私は長さ1/2-3または1/2-4を持つ他の製品を持っています。私が1/2の質問をすると、Elasticも1/2-3と1/2-4を得ます。なぜなら、 '1/2-3'と '1/2-4'には '1/2'も含まれているからです。
1/2-3,1/2-4の1/2でない商品を正確に検索して取得する方法を知りたいですか?
ありがとうございます!
注:ファセットは廃止予定です。私はそれに慣れているので、私はその言葉を使用しています。今はElasticsearch 2.3で集計されています。と私はそのバージョンを使用しています。*