2016-02-20 30 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 }}} 
     ] 
    } 
} 
相关问题