在elasticsearch中更改_score以使其等于doc的得分字段

埃敏·马斯蒂扎达(Emin Mastizada)

我在数据中有分数(整数)字段,我从api获取数据,并将其直接发布到localhost:9200 // listings /,并且我希望项目_score等于数据中的分数字段。

目前,一种解决方案是添加?sort=score:desc到url

一种解决方案是使用function_score查询,在此您可以_score使用field_value_factor评分功能替换默认值它是这样的:

curl -XPOST localhost:9200/listings/_search -d '{
  "query": {
    "function_score": {
      "functions": [
        {
          "field_value_factor": {
              "field": "score",         <---- we use the score field instead
              "factor": 1,              <---- take the exact same score
              "missing": 1              <---- use 1 as score if the score field is missing
          }
        }
      ],
      "query": {
        "match_all": {}
      },
      "boost_mode": "replace"           <---- we're replacing the default _score
    }
  }
}'

因此,我们基本上是使用score字段乘以1来计算分数,如果任何文档不包含该score字段,我们仅假设分数为1(您可以将其更改为更有意义的值)。

更新

根据您的评论,您需要_score将乘以文档的score字段。你可以简单地通过移除实现它boost_mode的参数,默认boost_modemultiply_score与任何值包含于该出field_value_factor功能。

如果您需要完全替换默认的评分机制以基于您的score字段,那么可以使用一种更复杂的方法使用similarity模块,在模块中,您可以只为您的score字段定义另一个相似性算法有一篇很棒的博客文章,解释了相似性模块的细节。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Elasticsearch:文档得分等于字段中的命中数

在Elasticsearch中是否可以使用doc_values = true筛选未索引的字段

声波棉绒:更改此条件,以使其始终不等于true

SQL更新一列以使其等于联接中的列并使用子查询

根据嵌套字段值修改Elasticsearch得分

如何更改代码以使其在输入小于或等于零的数字时表示结束并阻止用户输入数据

搜索两个字段,但在Elasticsearch中仅得分一次

doc_count_error_upper_bound在elasticsearch中的意义是什么?如何使其最小化?

如何调整Elasticsearch以使其快速索引?

将Ns添加到可变长度序列中以使其均等于150bp的最快方法

elasticsearch 6.0.0中的“ _doc”

更改DBAN文件以使其自动运行

更改字符串以使其相等

更改列以使其成为派生列

如何更改上标文本,以使其显示在Word中的括号中?

RediSearch中的标记字段搜索得分

如何更改appBar背景颜色以使其与Flutter中不同的tabView页面的背景颜色匹配?

如何更改Java中的默认语言环境设置以使其一致?

如何更改Windows 8.1中WiFi网络的顺序以使其优先级高?

如何在Visual Studio中更改主题选项卡以使其更轻便

更改唯一索引以使其在postgresq中可延期

如何更改 message.guild.channels.some 以使其在 V12 中工作?

如何更改点的颜色或在varImpPlot函数中填充点以使其更清晰?

如何更改某些名称以使其在Rails中具有不同的名称?

如何提高Elasticsearch函数得分的字段长度范数?

sklearn中的得分与precision_score之间的差异

sklearn中的得分和precision_score之间的差异

将python代码中列表中的doc计数添加到elasticsearch中的字段

Elasticsearch日期范围过滤器更改得分