2014-10-29 82 views
2

'條款'和'通配符'由Elasticsearch提供。 '條款' 是搜索多個OR條件:如何在ElasticSearch中使用通配符?

 { 
      "terms": { 
      "IP": [ 
       "192.168.100.11", 
       "192.168.100.13" 
      ] 
      } 

'通配符' 是由*(星號)確認:

 { 
      "wildcard": { 
      "IP": "192.168.*.11" 
      } 

我要合併 '通配符' + '術語' 的功能。我怎樣才能做到這一點?例如:

 { 
      "wildcard": { 
      "IP": [ 
       "192.168.*.11", 
       "192.168.*.13" 
      ] 
      } 

回答

5

您可以使用boolshould一部分,我不認爲有一個‘術語’像查詢wildcardshould如同一個OR

{ 
    "query": { 
    "bool": { 
     "should": [ 
     {"wildcard": {"IP": "192.168.*.11"}}, 
     {"wildcard": {"IP": "192.168.*.13"}} 
     ] 
    } 
    } 
} 
+0

謝謝安德烈斯特凡! – 2014-10-29 10:44:17