@羲凡——只为了更好的活着
Kibana6.0 常用增删改查命令(三)
1.filter过滤查询(bool使用)
查询hobby中包含“喝酒”但是不包含“唱歌”,同时要么hobby中有“跑步”要么birthday大于等于“1992-01-01”。对上面的结果再进行过滤,过滤salary大于等于88888.88,且name不是“张辽”的人
GET /aaron_index/aaron_type/_search
{
"query": {
"bool":{
"must": {"match":{"hobby":"喝酒"}},
"must_not": {"match":{"hobby":"唱歌"}},
"should": [
{"match":{"hobby":"跑步"}},
{"range":{"birthday":{"gte":"1992-01-01"}}}
],
"filter": {
"bool": {
"must":{"range":{"salary":{"gte":"88888.88"}}
},
"must_not":{"match":{"name":"张辽"}}
}
}
}
}
}
2.聚合查询(min/max/value_count/avg/cardinality/terms)
cardinality:不重复的数量
terms:就是sql中的groupby
对hobby中包含“喝酒”的人按照salary分组求平均值并排序
GET /aaron_index/aaron_type/_search
{
"size": 0,
"query": {"match":{"hobby":"喝酒"}},
"aggs": {
"salary_group": {
"terms": {
"field": "salary",
"order": {"salary_avg": "asc"}
},
"aggs":{
"salary_avg":{"avg": {"field": "salary"}}
}
}
}
}
3.constant_score查询
忽略TF相关度评分,使用constant_score,指定分数可以使用boost
GET /aaron_index/aaron_type/_search
{
"query": {
"constant_score": {
"filter": {"term":{"salary":"88888.88"}},
"boost": 2.27
}
}
}
====================================================================
@羲凡——只为了更好的活着
若对博客中有任何问题,欢迎留言交流