2016-02-20 2 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 «s также query быть разобран, но wildcard_query значение является expression

Ваш запрос может быть

{ 
    "query": { 
     "wildcard": { 
      "afDeparture": { 
       "value": "16feb*" 
      } 
     }, 
     "filter": [ 
     { "term": { "boardPoint": "dxb" }}, 
     { "range": { "localDeparture": { "gte": 1454270400000 }}} 
     ] 
    } 
} 
Смежные вопросы