更新#1:
我通过将以下内容全部禁用或设置为相同的值来解决了一些问题:术语频率,字段-长度范数。
对我有帮助的链接:
Elasticsearch score disable IDF https://www.elastic.co/guide/en/elasticsearch/guide/current/relevance-intro.html
我现在唯一仍然需要弄清楚的部分是如何不对提升得分求和,而我只想在命中/比赛中获得最高提升得分。我目前正在研究具有不同功能的多个查询。
原始问题
在多个字段中搜索时,如果在多个字段中找到一个术语,则分数将一起计算。
是否有可能在我们可以为每个字段定义分数的位置配置评分,如果在字段中找到了一个术语,则将该分数应用于文档并停止检查该术语是否与其他任何字段匹配。即使在多个字段中找到该术语,也不得计算分数。
例如,如果我们有一个标题和描述字段,并且在标题字段和描述字段中找到该术语,则仅应使用标题字段的分数,而不是计算标题和描述分数。另外,标题优先于描述字段。
我想要实现以下结果排序:
我的字段如下:
我想按以下顺序对结果进行排序:
我该怎么做(字段分数甚至是一件东西还是只有文档分数)?
到目前为止,我已经尝试过但失败了:
查询时间提升https://www.elastic.co/guide/en/elasticsearch/guide/current/query-time-boosting.html
字段级索引时间提升(又称规范)https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html#field-norm