想知道这两个获得相同结果的查询之间在性能上是否有很大差异
{
"query": {
"bool": {
"must": [
"bool": {
"must": [
{
"term": {
"color": "red"
}
},
{
"term": {
"fruit": "strawberry"
}
}
]
}
}
}
}
}
和
{
"query": {
"bool": {
"must": [
{
"term": {
"color": "red"
}
},
{
"term": {
"fruit": "strawberry"
}
}
]
}
}
}
答案 0 :(得分:1)
两个查询的执行计划完全相同。将?explain=true
添加到您的URL中,以便您可以看到两个查询的解释方式。
如果您不需要评分,只需使用是/否过滤,即:
,则可以使用filter
而不是must
来提高性能。
{
"query": {
"bool": {
"filter": [ <-- change this
{
"term": {
"color": "red"
}
},
{
"term": {
"fruit": "strawberry"
}
}
]
}
}
}