是否可以匹配“shoulds”的数量或者每个匹配的返回恒定权重。例如,如果我有这样的bool查询:
"query": {
"bool": {
"should": [
{ "match": { "last_name": "Shcheklein" }},
{ "match": { "first_name": "Bart" }}
]
}
}
我想得到:
score == 1
如果其中一个字段(last_name
,first_name
)匹配(即使在模糊意义上)
如果两个字段匹配,则score == 2
是否可以获得匹配的字段列表?
答案 0 :(得分:3)
您可以使用c onstant score来实现此目标 使用highlighting找出匹配的字段。
示例:
{
"query": {
"bool": {
"disable_coord": true,
"should": [
{
"constant_score": {
"query": {
"match": {
"last_name": "Shcheklein"
}
},
"boost": 1
}
},
{
"constant_score": {
"query": {
"match": {
"first_name": "bart"
}
},
"boost": 1
}
}
]
}
}
}