【发布时间】:2021-07-12 17:00:38
【问题描述】:
我有一个查询短语需要在任一字段中匹配 - name、summary 或 description 或 name 字段上的完全匹配。
现在,我又多了一个新字段brand。此字段中的匹配应仅用于提升结果。这意味着如果仅在 brand 字段中存在匹配项,则该文档不应出现在结果集中。
要解决没有brand 的问题,我有以下查询:
query: {
bool: {
minimum_should_match: 1,
should: [
multi_match:{
query : "Cadbury chocklate milk",
fields : [name, summary, description]
},
term: {
name_keyword: {
value: "Cadbury chocklate milk"
}
}
]
}
}
这对我来说很好。
如何使用相同的查询获取数据,但提升具有brand:cadbury 的文档,而不增加召回集(基于brand:cadbury 的匹配)。
谢谢!
【问题讨论】:
-
如果品牌中没有匹配项,是否仍要返回现有查询?
-
是的。考虑品牌中的匹配只是为了提高结果。
标签: elasticsearch