栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Elasticsearch:文档pt.2中具有自定义得分字段的影响力得分

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Elasticsearch:文档pt.2中具有自定义得分字段的影响力得分

您可以尝试使用此查询-它结合了得分:

confidence
boost_multiplier
字段:

{  "query": {    "function_score": {        "query": { "bool": {     "should": [{         "nested": {"path": "tags","score_mode": "sum","query": {  "function_score": {    "query": {      "match": {        "tags.tag": "landscape"      }    },    "field_value_factor": {      "field": "tags.confidence",      "factor": 1,      "missing": 0    }  }}         }     }] }        },        "field_value_factor": { "field": "boost_multiplier", "factor": 1, "missing": 0        }      }    }}

当我搜索

coast
字词时-它返回:

  • id=1
    仅具有此术语的文档具有该术语,得分为
    "_score": 100.27469

当我搜索

landscape
术语时-它返回两个文档:

  • id=2
    得分为“ _score”的文档:85.83046
  • id=1
    得分为“ _score”的文档:59.7339

由于

id=2
具有较高
confidence
字段值的文档,其得分更高。

当我搜索

coast landscape
术语时-它返回两个文档:

  • id=1
    得分为“ _score”的文档:160.00859
  • id=2
    得分为“ _score”的文档:85.83046

尽管

id=2
具有的文档具有较高的
confidence
字段值,但是具有的文档
id=1
具有匹配的单词,因此得分更高。通过更改
"factor":1
参数的值,您可以决定
confidence
应多少影响结果。

boost_muliplier字段

当我为一个新文档建立索引时,会发生更有趣的事情:假设它与具有的文档几乎相同,

id=2
但是我设置了
"boost_multiplier" :4
"id": 3

{  "created_at" : "2017-07-31T20:43:17-04:00",  "description" : null,  "height" : 4934,  "id" : "3",  "tags" : [    ...    {      "confidence" : 48.36547551196872,      "tag" : "landscape"    },    ...  ],  "width" : 4016,  "color" : "#FEEBF9",  "boost_multiplier" : 4}

使用

coast landscape
term 运行相同的查询将返回三个文档:

  • id=3
    得分为“ _score”的文档:360.02664
  • id=1
    得分为“ _score”的文档:182.09859
  • id=2
    得分为“ _score”的文档:90.00666

尽管的文档

id=3
只有一个匹配的单词(
landscape
),但其
boost_multiplier
值大大提高了评分。在此处,
"factor":1
您还可以使用决定该值应增加多少分值,并
"missing": 0
确定如果没有索引该字段应发生什么。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号