【发布时间】:2016-11-04 16:28:55
【问题描述】:
我计划将我的搜索和过滤引擎变成 Elasticsearch。通过查看大量文档,我发现 elasticsearch 具有创建方面的能力。我在左侧过滤器导航侧边栏中添加了一些方面,并通过使用 elasticsearch 中的类别字段过滤它们来查询我的产品和方面。
但问题是我不知道如何查询回弹性搜索中的选定方面。
我用过
'filter' => [
'bool' => [
'must' => [
['match_phrase' => [ 'Material' => 'Aluminum' ]],
['match_phrase' => [ 'Length' => '1/2']]
]
]
]
elasticsearch php客户端的body标签中的这段代码。它确实有效,但我有其他长度为 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 而不是 1/2-3 或 1/2-4 的产品我应该使用什么查询?
谢谢!
注意:我知道 Facets 已被弃用。我用这个词是因为我习惯了。它现在是 Elasticsearch 2.3 中的聚合。 我正在使用该版本。*
【问题讨论】:
标签: php elasticsearch aggregation