如何在弹性搜索中使用多个正则表达式或条件?

时间:2015-06-17 11:39:55

标签: elasticsearch

我希望从ID中获取所有0BBNTA000ANT,是否有类似terms的内容与regexp一起使用,还是有其他方法吗?否则,我将不得不查询每个项目的elasticsearch,如000ANT和0BBNTA。请帮忙。

以下是我正在尝试的内容,即0BBNTA,但我也希望有一个或条件,因此正则表达式也可以匹配GET dc/ma/_search { "fields": [ "host" ], "filter": { "bool": { "must": [ { "regexp": { "_uid": { "value": ".*000ANT.*" } } } ] } } }

set

1 个答案:

答案 0 :(得分:3)

使用should代替must

{
   "fields": [
       "host"
    ],
   "filter": {
      "bool": {
         "should": [
            {
               "regexp": {
                  "_uid": {
                     "value": ".*000ANT.*"
                  }
               }
            },
            {
               "regexp": {
                  "_uid": {
                     "value": ".*0BBNTA.*"
                  }
               }
            }
         ]
      }
   }
}