作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我的索引有两个文档:
当我对“bar foo”进行常规匹配查询时,两个文档都正确匹配,但它们的相关性得分相同。但是,我希望在评分过程中单词的顺序很重要。换句话说,我希望“bar foo”有更高的分数。
所以我尝试将我的匹配查询放在 bool 查询的 must 子句中,并包含一个 match_phrase(具有相同的查询字符串)作为 should 子句。在我用“bar test foo”进行搜索之前,这似乎正确地得分了。在那种情况下,match_phrase 查询似乎不匹配,并且再次以相同的分数返回命中。
我如何构建我的索引/查询,以便它考虑词序但不要求所有搜索词都存在于文档中?
最佳答案
看看 SpanNearQuery
,它允许指定有或没有斜率的顺序(限制项之间的距离)。
Elasticsearch 文档是 here .
关于ElasticSearch 在匹配查询中考虑词序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27953698/
我已经使用标准分析器索引了文档 foo 1 bar foo 2 bar foo 3 bar 等等.. 当我进行类似“asdf foo 1 bar 2”的 mach 查询时,foo 2 bar 的得分高
我是一名优秀的程序员,十分优秀!