当前位置: 首页 > 知识库问答 >
问题:

匹配短语和匹配查询中的评分不符合预期

龚睿
2023-03-14

通过看到我的结果,我有点困惑如何在MatchPherage和match query中进行评分

对于匹配短语,我有如下查询

sd.Query(q =>    
 q.MatchPhrase(m => m  
 .Field(p => p.title)  
 .Query("Test Article in Credit")    
  ));

获得的reults如下
a。“信用-消费者测试文章”得分12.64
b的文件。“信用-X测试文章”得分12.64
c的文件。“Credit-XYZ测试文章”得分10.92
d的文档。“信用测试文章”得分10.22
e的文件。“Credit-Z测试文章”得分09.40的文档

前两个指标来自不同指标,后三个指标来自不同指标

根据我的说法,第四个应该得分高,第二个应该得分最低。我用的是标准分析仪

类似地,我的匹配查询做相同的
文档标题为“测试”比文档标题为“信用测试文章”得分高。

我知道评分发生在更多的相关文章的基础上,词条出现的频率,文本的长度。

我如何重组我的查询以正确的顺序给出文档?

共有1个答案

欧阳俊逸
2023-03-14

从这里很难解释为什么您的期望与结果不匹配,但我会给您一个更好的帮助:您可以通过使用Explain API来发现自己

 类似资料:
  • 我遇到了一个问题,elasticsearch在我的环境(舞台和生产)中返回不同的结果。 我使用的elasticsearch版本对于这两种环境是相同的。 这两个环境都具有相同的映射和索引设置。 我有一个项目索引的标题字段为“测试”。我正在尝试执行match_phrase_prefix查询。然而,在我的舞台环境中,当我搜索“te”时,结果会像预期的那样返回。在生产中,我必须将搜索查询扩展到“TES”(

  • 问题内容: 这对我来说应该是显而易见的,但事实并非如此。以下两个仅匹配第二个阶段(在这种情况下为) 而以下错误发出错误消息 我想匹配包含的所有文件 或者 输入完全相同的词组。 问题答案: 您的第一个查询实际上不是有效的JSON对象,因为您两次使用相同的字段名称。 您可以使用布尔必须查询来匹配两个短语:

  • 问题内容: Elasticsearch的新功能,试图更好地了解这些查询之间的区别。据我所知,匹配单个项(需要小写的比赛工作?),都和文本字符串匹配。 问题答案: 查询匹配单个术语: 不分析 值。因此,不必根据所索引的内容将其小写。 如果您是在索引时间提供的,并且未分析该值,则以下查询将不会返回任何内容: 如果为查询字段定义了分析器,则查询将分析输入,并查找符合以下条件的文档: 所有条款 必须出现在

  • 这里是Elasticsearch的新内容,并试图更好地理解这些查询之间的差异。据我所知,匹配单个术语(需要小写才能有效匹配?),和都匹配一个文本字符串。

  • 我正在使用elasticsearch从json字段进行精确短语匹配。我尝试过多种语法,比如multi_match、query_string query_string我正在使用的语法; 我也尝试了过滤器而不是查询,但是过滤器在json上没有给出任何结果。我用于过滤器的语法是; 现在的问题是; 是否可以使用elasticsearch对json执行精确匹配操作?

  • 我正在尝试捕获异常,但无效。以下是我视图中的代码: 我还尝试了:“除了act_edit.DoesNotExist:”但错误仍然存在“活动匹配查询不存在”。你知道吗? 谢谢