【发布时间】:2016-02-13 01:58:21
【问题描述】:
我在使用 ElasticSearch 时遇到了一些问题。我是新手,所以很正常。 我需要在我的网站上配置搜索。我有一些视频,并且有一些过滤器可以减少显示的结果。 我有完全匹配过滤器,但也有范围过滤器。
所以我的问题是根据用户搜索的内容将搜索关键字与这些过滤器结合起来。
到目前为止,我已经将搜索到的关键字与范围过滤器结合起来,但如果设置了完全匹配过滤器,我不知道该怎么做。
下面是参数现在如何传送到 Elasticsearch:
[body] => Array
(
[query] => Array
(
[filtered] => Array
(
[query] => Array
(
[multi_match] => Array
(
[query] => messi
[fields] => Array
(
[0] => title
[1] => duration
[2] => id_category
[3] => id_tag
)
[fuzziness] => 0.5
)
)
[filter] => Array
(
[range] => Array
(
[duration] => Array
(
[gte] => 0
[lte] => 300
)
)
)
)
)
)
如果我有过滤器只显示视频,在某些类别中匹配关键字“messi”,持续时间在 0 到 300 秒之间,它会是什么样子?
感谢您的建议!
【问题讨论】:
标签: php elasticsearch filter range