奋斗的小农

近期使用ES做关联查询,实现 a and b and (c1 or c2)and (d1 or d2)的方法 被should 和must搞得晕头转向,后仔细拜读使用说明实现: 

GET gather-034-20171225/_search { "query": { "bool": { "must": [ {"range": { "recive_time": { "gte": "2017-12-25T01:00:00.000Z", "lte": "2017-12-25T02:10:00.000Z" } }}, { "bool": { "should": [ {"range": { "live_delay": { "gte": 1500 } }}, { "range": { "stream_break_count.keyword": { "gte": 1 } } },
] } },
     {
       "bool": {
            "should": [
           {'term': {'status': {'value': 400}}},
        {'term': {'status': {'value': 500}}}

] } }
] } } } 这个中,must的两个条件都必须满足,should中的两个条件至少满足一个就可以。

 

推荐这些文章:

ES 并且或者查询

must should 的使用
GET /http_index/type/_search
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
...

ES 并且或者查询

must should 的使用 GET /http_index/type/_search { "query": { "bool": { "should": [ { "bool": { "must": [ { ...

文章标题:奋斗的小农

文章链接:https://www.dianjilingqu.com/4233.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>