所以我有一堆像{A: x, B: y}
这样的记录。
我想构建一个与A
和B
attrib匹配的搜索查询。
但是,在match
中再添加一个条件,查询将无法解析。
这很有效。
{
"query" : {
"match": {
"A": "x"
}
}
}
这不是。
{
"query" : {
"match": {
"A": "x",
"B": "y"
}
}
}
答案 0 :(得分:2)
应该是这样的:
{
"query": {
"bool": {
"must": [
{
"match": {"A": "x"}
},
{
"match": {"B": "y"}
}
]
}
}
}
使用must
至AND
所有匹配条款,使用should
至OR
所有匹配条款。
答案 1 :(得分:0)
使用术语查询,试试这个:
{
"query": {
"bool": {
"should": [
{
"term": {"A": "x"}
},
{
"term": {"B": "y"}
}
]
}
}
}
或匹配查询可以执行此操作:
{
"query": {
"bool": {
"should": [
{
"match": {"A": "x"}
},
{
"match": {"B": "y"}
}
]
}
}
}