最佳答案
我是新的弹性搜索和我之间的必须过滤混淆。我想在我的条件之间执行一个和运算,所以我这样做了
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,什么时候应该使用 filter?有什么区别吗?