弾性検索は初めてで、mustとfilterの間で混乱しています。私は用語の間に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を使用する必要がありますか?違いはなんですか?