Filter过滤查询
filter是不计算相关性的,同时可以缓存。因此filter速度快于query。
GET /tms-pro-trade-record-beta-2/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"superior.company_id": {
"value": 36204
}
}
},
{
"term": {
"income_expense": {
"value": "1"
}
}
},
{
"range": {
"create_time": {
"gte": "2020-11-01 00:00:00",
"lte": "2020-11-14 23:59:59"
}
}
}
]
}
},
"aggs" : {
"total_amount": {
"sum": {
"field": "amount"
}
}
}
}
bool过滤查询
bool查询可以实现组合过滤查询
格式:
{“bool” : {“must”:[],“should”:[],“must_not”:[] } }
must:必须满足的条件 (相当于and)
should:可以满足也可以不满足的条件 (相当于or)
must_not:不需要满足的条件 (相当于not)
示例:
order_up放在should里就不会完全过滤,放在外圈执行过滤
范围过滤
gt:>
lt:<
gte:>=
lte:<=