【发布时间】:2019-02-14 21:46:32
【问题描述】:
我正在为客户做一个概念验证,我目前正在运行一些简单的查询来帮助这个概念验证。
我正在做一个非常简单的布尔查询,它应该为所有文档产生相同的分数,因为它只是在一个字段上,但它给出不同的分数。
查询如下
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()
);
我知道如果您希望以这种方式获得一致的评分以使用过滤器,我的建议是,但这只是我检查评分产生方式的一种简单方式。
我的最终概念验证实际上将查看“Handicap”字段,如果它是真的则提升它,但如果它是假的,仍然包含它。
我最终将有许多字段以这种方式产生一个基于大量布尔输入的排名系统,如果它与用户的偏好匹配,则它会被提升,但如果不匹配,仍然包含结果。
问题是:为什么我的得分不一致?我试图检查解释结果,但它们对我来说毫无意义。
【问题讨论】:
标签: c# elasticsearch nest