ElasticSearch Nest布尔查询产生不同的评分

问题描述 投票:0回答:1

我正在为客户做一个概念验证,我正在运行一些简单的查询来帮助这个概念验证。

我正在做一个非常简单的布尔查询,它应该为所有文档生成相同的分数,因为它只是在一个字段上,但它给出了不同的评分。

查询如下

var response = client.Search<TblRace>(s => s
                     .Query(q => q
                     .Bool(b => b
                     .Must(
                             m => m.Term(t => t.Field(f => f.Handicap).Value(true)))
                          )
                          )
                    .Take(300)
                    .Explain()
               );

我知道如果你想要以这种方式获得一致的评分来使用过滤器,那么这只是一种简单的方法,我可以检查评分是如何产生的。

我最后的概念证明实际上会看到“障碍”字段,如果它是真的则会提升它,但如果它是假的,还会包括它。

我最终将拥有一系列以这种方式运行的字段来生成基于大量布尔输入的排名系统,如果它与用户的偏好匹配则会提升,但如果不匹配则仍包括结果。

问题是:为什么我得分不一致?我试着检查一下解释结果,但对我来说,它对我来说毫无意义。

c# elasticsearch nest
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.