我想从id中获取所有000ANT0BBNTA,是否有类似于terms与regexp一起使用的东西,或者还有其他方法吗?否则,我将不得不针对每个项目(例如000ANT和0BBNTA)查询elasticsearch。请帮忙。

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

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

最佳答案

使用should而不是must:

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

08-06 17:20