我一直在努力将MUST-MATCH与MULTI-MATCH结合起来,但却无法让它发挥作用。基本上我想要这些必须条件:
"must": [{ "match": { "city": $city } },
{ "match": { "is_displayed": 1 } },
{ "match": { "status": "active" } }]
我想要这些比赛:
"multi_match": {
"query": $query,
"type": $selectedType,
"fields": fieldArray,
}
其中$ query是文本框值$ selectedType是多匹配查询类型之一,fieldArray是要搜索的字段。例如,当文本框值为" hello world"而fieldArray是[' title',' cuisine'],或者#34;你好"和/或"世界"必须匹配任一或所有指定的字段。任何见解和建议都表示赞赏。
答案 0 :(得分:0)
我想在must
块中添加另一个子句可以满足需要。
{
"query": {
"bool": {
"must": [
{
"match": {
"city": "$city"
}
},
{
"match": {
"is_displayed": 1
}
},
{
"match": {
"status": "active"
}
},
"query_string": {
"fields": fieldArray,
"query": "*$query*"
}
}
]
}
}
}