ES-or并列条件查询
GET /index/type/_search{"query": {"bool": {"should": [{"bool": {"must": [{"term" : {"field1" : {"value" : 110,"b.
·
GET /index/type/_search { "query": { "bool": { "should": [ { "bool": { "must": [ { "term" : { "field1" : { "value" : 110, "boost" : 1.0 } } }, { "terms": {"field2": [ 100037, 100055, 100060 ] } } ] } }, { "bool": { "must": [ {"terms": {"field3": ["1001001"]}} ] } } ] } } }
相当于是mysql数据库的or查询:
(前一个条件) or(后一个条件)
此处demo:就是前一个条件必须同时满足 field1 field2 条件(统称before条件) ;后一个条件是必须满足(统称after条件)
只要满足 before 条件或者是 after 条件中任意一个就会被查询出来。但是此处会有一个坑,就是如果目标数据同时满足before 条件,after条件,那么
这个目标数据会被查询出来两次(也就是结果集中会有重复数据);
更多推荐
已为社区贡献3条内容
所有评论(0)