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