【发布时间】:2015-05-20 10:07:39
【问题描述】:
我有一个文档有一个类似的数组
doc1
{
"item_type":"bag",
"color":["red","blue","green","orange"]
}
doc2
{
"item_type":"shirt",
"color":["red"]
}
当我像这样进行 multi_match 搜索时
{
"query": {
"multi_match": {
"query": "red bag",
"type": "cross_fields",
"fields": ["item_type","color"]
}
}
}
doc2 的分数要高得多,我知道颜色字段的项目越少,分数越高,如果我在 doc1 中有更多的颜色,它会变得更糟。
那么有没有一种方法可以让 Elasticsearch 为数组字段评分,无论有多少项?
【问题讨论】:
-
无论如何你都想使用
multi_match吗? -
如果您将
"use_dis_max": false添加到您的multi_match,您会获得更好的结果吗? -
use_dis_max:false 没有帮助
标签: arrays elasticsearch