我正在尝试做一个应该类似于短语查询的查询,除了连续标记内可能存在间隙。例子:
Document: "a b c d"
Search: "a c" >> This should return the document,
Search: "c a" >> This should not return the document.
短语查询确保仅在不使用 slop 值时才会保留订单。一旦我添加了一些 slop 值(2、3 等),它就会开始破坏顺序,并且具有足够大的 slop 值,它可能只是弹性搜索文档中提到的正常匹配查询。
请注意,我使用的是 AND 运算符,因此必须存在所有搜索标记。
是否可以在 Elasticsearch 中进行这样的查询?
[编辑] 至于被标记为与此问题重复,我正在为我的项目使用 spring-data-elasticsearch,并且堆栈溢出问题没有与 spring-data elasticsearch java-api 相关的答案(最好是 ElasticsearchTemplate)。