我目前正在尝试对名字,姓氏和出生日期进行多重搜索查询。我希望结果显示第一个,最后一个和dob的完全匹配,但如果第一个名字和姓氏匹配但存在不同的出生日期,那么也会显示结果。
截至目前,如果所有三个字段都具有完全匹配
,则我的代码仅返回结果GET /account/data/_search
{
"query": {
"match": {
"first": {
"query": "Chris"
}
}
},
"query": {
"match": {
"last": {
"query": "Johnson"
}
}
},
"query": {
"match": {
"dob": {
"query": "10-10-1990"
}
}
}
}
答案 0 :(得分:1)
这可以通过简单的bool query
来解决{
"query": {
"bool": {
"must": [
{
"match": {
"first": "TEXT"
}
},
{
"match": {
"last": "TEXT"
}
}
],
"should": [
{
"match": {
"dob": "TEXT"
}
}
]
}
}
}