2015-06-17 38 views
1

我想從id獲得所有000ANT0BBNTA,是否有類似於terms與regexp一起使用或有任何其他方式?否則,我將不得不查詢每個項目稱爲000ANT和0BBNTA的elasticsearch。請幫忙。如何在elasticsearch中使用基於或條件的多個正則表達式?

下面是我正在嘗試1,即000ANT,但我也想有一個或條件,所以正則表達式也可以匹配0BBNTA

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

回答

2

使用的should代替must

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