2016-02-20 57 views
3

請問您可以告訴我何時使用查詢字符串以及何時使用通配符。 在以下情況下我應該怎麼用Elasticsearch中的查詢字符串與通配符有什麼區別

POST _search 
{ 
    "query": { 
    "filtered": { 
     "query": [{ 
     "query_string": { 
      "fields": [ 
       "afDeparture" 
       ], 
      "query": "16feb*" 
      } 
     }], 
     "filter": [ 
     { "term": { "boardPoint": "dxb" }}, 
     { "range": { "localDeparture": { "gte": 1454270400000 }}} 
     ] 
    } 
    } 
} 

回答

0
  • QUERY_STRING值與查詢分析器進行分析,以獲得實際的查詢
    name:this AND surname:that

  • 但通配符查詢是項級查詢只評估*?

綜上所述QUERY_STRING的價值也將被解析的querywildcard_query值是expression

你的查詢可以

{ 
    "query": { 
     "wildcard": { 
      "afDeparture": { 
       "value": "16feb*" 
      } 
     }, 
     "filter": [ 
     { "term": { "boardPoint": "dxb" }}, 
     { "range": { "localDeparture": { "gte": 1454270400000 }}} 
     ] 
    } 
} 
相關問題