2016-02-20 2 views
3

Pouvez-vous me dire quand utiliser la chaîne de requête et quand utiliser un caractère générique. Dans le scénario ci-dessous que dois-je utiliserQuelle est la différence entre la chaîne de requête et le caractère générique dans Elasticsearch

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

Répondre

0
  • valeur Query_String est analysé avec un analyseur de requête pour obtenir la requête réelle
    Comme name:this AND surname:that

  • Mais la requête générique est une requête de niveau à long terme qui n'évalue que les * et ?

En résumé query_string valeur de est aussi un query être analysé, mais wildcard_query valeur est un expression

Votre requête peut être

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