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条件,那么
这个目标数据会被查询出来两次(也就是结果集中会有重复数据);