【发布时间】:2017-09-07 00:35:32
【问题描述】:
我是弹性搜索的新手,我对必须和过滤器感到困惑。我想在我的术语之间执行一个 and 操作,所以我这样做了
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?有什么区别?
【问题讨论】:
标签: elasticsearch filter querydsl