针对多个条件的弹性搜索查询

时间:2014-01-20 06:24:53

标签: elasticsearch

我想在弹性搜索中构建一个有3个子条件的查询。 1.它必须满足至少一个提供的值列表。 2.必须满足1,2,然后满足第3条件。

(1必须满足,2和3也必须满足,但仅在满足1后)。 1是一个值列表,所以任何满意的人都可以。

请概述如何使用布尔参数构建弹性搜索查询。

提前致谢。

1 个答案:

答案 0 :(得分:0)

{
   "query" : {
      "filtered" : { 
         "filter" : {
            "bool" : {
          "must" :[{"term":{"sessionId":"-ShAwL2KlnVeo6nMMNX3ycVlc0kdikOWPC8vShyvpRpdmOQJkbBo-FiLJymsuZp36gcQs1I"}}],
              "should" : [
                 { "term" : {"visitorId": "b090606f-968d-fef4-33e3-3341f3a04265"}}, 
                 { "term" : {"clientIp": "192.168.8.100"}} 
              ]

           }
         }
      }
   }
}

必须指定的条款,文件必须符合标准 在should中指定的术语,任何术语都可以匹配