gpt4 book ai didi

arrays - Elasticsearch 数组分数

转载 作者:行者123 更新时间:2023-11-29 02:48:22 25 4
gpt4 key购买 nike

我有一个文档有一个类似的数组

文档1

{
"item_type":"bag",
"color":["red","blue","green","orange"]
}

文档2

{
"item_type":"shirt",
"color":["red"]
}

当我进行多匹配搜索时

{
“询问”: {
“多匹配”:{
"query": "红包",
“类型”:“cross_fields”,
“字段”:[“项目类型”,“颜色”]
}
}
}

doc2 有更高的分数,我知道 color filed 的项目越少得分越高,如果我在 doc1 中有更多的颜色,情况会变得更糟。

那么有没有一种方法可以让 Elasticsearch 对一个数组字段进行相同的评分,而不管那里有多少项?

最佳答案

如果您不想在评分期间考虑字段长度 (fieldNorm),您可以禁用 norms对于映射中的字段。

例如上面例子的映射是

   {
"properties": {
"item_type": {
"type": "string"
},
"color": {
"type": "string",
"norms": {
"enabled": false
}
}
}
}

article来自 elasticsearch 的权威指南提供了对字段长度规范的深入了解。

关于arrays - Elasticsearch 数组分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30346557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com