{
"query": {//等价于 filter 不计算 优于query
"bool": {
"must": [//and
{ "range": { "@timestamp": { "gt": "2018-02-08T07:00:00.056000000+00:00","lt": "2018-02-08T08:00:00.056000000+00:00" } } } //范围 条件1
,
{ "wildcard": { "message": "*cp_geo*" } } //模糊 条件2
,
{ "match": { "message": "*type:platform*" } }//精确 条件3
],
"must_not": { "match": { "message": "*deviceTypeCode:DTout00000000*" } }, //not
"should": []//or
}
},
"from": 0,
"size": 50, // 分页
"sort": { "@timestamp": "desc" }, // 排序
"aggs": {}//聚合
}
{"size":50,"query":{"bool":{"must":[{"match_phrase":{"gender":2}},{"match_phrase":{"nickname":"注"}}]}},"from":0,"sort":[{"createTime":"desc"}]}
短语 模糊:match_phrase 精确:term
时间段范围
List<Object> filter = Lists.newArrayList(); //时间段 if (StringUtils.isNotBlank(cardBulletListRequest.getStartTime()) && StringUtils.isNotBlank(cardBulletListRequest.getEndTime())) { Map<String, Object> range = Maps.newHashMap(); Map<String, Object> createTime = Maps.newHashMap(); Map<String, Object> map = Maps.newHashMap(); map.put("gte", cardBulletListRequest.getStartTime()); map.put("lte", cardBulletListRequest.getEndTime()); createTime.put("createTime", map); range.put("range", createTime); filter.add(range); } bool.put("must", must); bool.put("filter", filter); query.put("bool", bool);