must 相当于and
should 相当于or
gte>= gt> lte<= lt<
1.sql对于and
select * from test1 , test2 where ( occur_time between 1634916697000 and 1634920297000 ) and ip =‘11.11.11.11’ and sp= ‘22.22.22.22’ order by time desc limit 8 offset 0
对应的布尔查询
curl -XPOST ‘localhost:9200/test1,test2/_search?pretty’ -d ‘{“query”:{“bool”:{“must”:[{“term”:{“ip”:“11.11.11.11”}},{“term”:{“sp”:“22.22.22.22”}},{“range”:{“time”:{“gte”:1634916697000,“lte”:1634920297000}}}]
}},“sort”:[{“time”:{“order”:“desc”}}],“from”:1,“size”:8}’
2.sql中or
select * from test1 , test2 where (time between 1635176220000 and 1635179820000 ) and ( ip= '6.6.6.6 or ip= ‘8.8.8.8’ ) and name=‘模拟’ order by time desc limit 8 offset 0
对应的布尔查询
curl -XPOST ‘localhost:9200/test1 , test2/_search?pretty’ -d ‘{“query”:{“bool”:{“must”:[{“term”:{“name”:“模拟”}},{“range”:{“time”:{“gte”:1635176220000,“lte”:1635179820000}}}],“should” : [
{
“term” : { “ip”:“6.6.6.6” }
},
{
“term” : { “ip”:“8.8.8.8” }
}
]}},“sort”:[{“time”:{“order”:“desc”}}],“from”:1,“size”:8}’