一尘不染

如何在Elasticsearch中基于或条件创建多个正则表达式?

elasticsearch

我想所有000ANT0BBNTA来自ID,是否有类似的东西而言,其与正则表达式的作品或有任何其他方式?否则,我将不得不针对每个项目(例如000ANT和0BBNTA)查询elasticsearch。请帮忙。

以下是我要尝试的一些东西,即1,000ANT但我也想有一个or条件,以便正则表达式也可以匹配0BBNTA

GET dc/ma/_search
{
   "fields": [
       "host"
    ],
   "filter": {
      "bool": {
         "must": [
            {
               "regexp": {
                  "_uid": {
                     "value": ".*000ANT.*"
                  }
               }
            }
         ]
      }
   }
}

阅读 278

收藏
2020-06-22

共1个答案

一尘不染

使用should而不是must

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