我是elasticsearch的新手,不知道两个查询之间有什么区别。它只是处理时间还是根本不同的查询。
1) filters : { and: [{
"bool" : {
"should" : {
"term" : {
"Code" : "1510"
}
}
}
}
,
{
"bool" : {
"should" : {
"term" : {
"Id" : "Id3"
}
}
}
}] }
2) filter: [{
"bool" : {
"must" : [{
"term" : {
"Code" : "1510"
},
"term":{
"Id":"Id3"}]
}
}
}]
答案 0 :(得分:0)
OP中的查询在逻辑上是等效的。
然而,据说我发现2)具有直观性,可读性和简单性。
通常,出于性能原因, bool
过滤器优先于 and
,但对于有问题的查询,我怀疑这种差异是否可察觉。
对于 and
过滤器,1)中的查询更好地编写如下:
"filter": {
"and": [
{
"term": {
"Code": "1510"
}
},
{
"term": {
"Id": "Id3"
}
}
]
}