我是弹性搜索的新手,在must和filter之间感到困惑。我想在我的条款之间执行and操作,所以我这样做了
开机自检/ xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
},
{
"term": {
"saleType": "sale_type1"
}
}
]
}
}
}
这给了我所需的结果,既匹配了术语,又使用了像这样的过滤器
开机自检/ xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
}
],
"filter": {
"term": {
"saleType": "sale_type1"
}
}
}
}
}
我得到相同的结果,所以什么时候应该使用must和什么时候应该使用filter?有什么不同?