【发布时间】:2017-12-27 07:41:18
【问题描述】:
通过查看我的结果,我对如何在 matchphrase 和 match query 中完成评分感到有点困惑
对于匹配短语 我有如下查询
sd.Query(q =>
q.MatchPhrase(m => m
.Field(p => p.title)
.Query("Test Article in Credit")
));
得到的结果如下
一种。 “信用测试文章 - 消费者”分数为 12.64 的文档
湾。 “Test Article with Credit -X”分数 12.64
C。带有“信用测试文章 - XYZ”分数的文档 10.92
d。 “信用测试文章”分数为 10.22 的文档
e. “Test Article in Credit -Z”分数为 09.40 的文档
前两个来自不同的索引,后三个来自不同的索引
在我看来,第四个应该是高分,第二个应该是最低分。 我正在使用标准分析器
同样,我的匹配查询也是如此
标题为“Test”的文档得分高于
标题为“Test Article in Credit”的文件
我知道评分会针对更相关的文章基于 词条出现频率,文本长度。
如何重组我的查询以按正确的顺序提供文档?
【问题讨论】:
-
相关性分数是按每个分片计算的,因此可以在具有多个分片的索引内和跨索引之间变化。然而,对于 许多 个文档和合理的路由,分片之间的相关性得分差异会减小。在处理少量文档时,重新评分查询有助于消除差异。
标签: elasticsearch nest