赞
踩
1.term过滤(精准匹配)
作用:主要用于精准匹配哪些值,比如:数字,日期,布尔值,not_analyzed的字符串(未经分析的文本数据类型),例如:
{“term”:{“age”:26}}
{“term”:{“date”:“2014-09-01”}}
{“term”:{“public”:true}}
{“term”:{“tag”:“full_text”}}
查找hostname字段完全匹配成activity.report的数据:
{
"query":{
"term":{
"hostname":"activity.report"
}
}
}
2.terms过滤(或)
作用:与term类似,但terms允许指定多个匹配条件。如果某个字段指定多个值,那么文档需要一起做匹配。例如:
“terms”:{
"tag":["search","full_text","nosql"]
}
}
查询所有http状态是302和304的,ES中的状态是数字类型的字段,所以可以直接这么写:
“query”:{
“terms”:{
“status”:[
303,
304
]
}
}
可理解为是term精准匹配下“或”的关系。
3.range过滤(按范围查找)
作用:按照指定范围查找一批数据。
范围操作符:
lt:小于
lte:小于等于
gt:大于
gte:大于等于
查询年龄在10-20岁之间:
{
“query”:{
“range”:{
“age”:{
“gte”:20,
“lte”:30
}
}
}
}
请求页面耗时大于1s的数据:
4.exists和missing过滤
5.bool过滤
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。