2016-05-16 5 views
0

Tagen habe ich dieses "Problem". Ich habe eine match_phrase Abfrage in meinem Index ausgeführt. Alles war wie erwartet, bis ich die gleiche Suche mit mehreren Wörtern Substantive (bevor ich einzelne Wort Substantive, zB: Universität) verwendet habe. Ich habe einen Rechtschreibfehler gemacht und die Suche hat nicht funktioniert (nicht gefunden), wenn ich ein Wort (sagen wir mal das richtig geschriebene Wort) entfernt habe, findet die Suche Arbeit (gefunden).Unscharfes Verhalten bei einer Match_phrase Abfrage

Hier gibt es das Beispiel, das ich gemacht:

Die Einstellungen

PUT index1 
{ 
    "mappings": { 
    "myType": { 
     "properties": { 
     "field1": { 
      "type": "string", 
      "analyzer": "standard" 
     } 
     } 
    } 
    } 
} 

POST index1/myType/1 
{ 
    "field1": "Commercial Banks" 
} 

Fall 1: Einzel Substantiv Suche

GET index1/myType/_search 
{ 
    "query": { 
    "match": { 
     "field1": { 
     "type": "phrase", 
     "query": "comersial", 
     "fuzziness": "AUTO" 
     } 
    } 
    } 
} 

{ 
    "took": 16, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 1, 
    "max_score": 0.19178303, 
    "hits": [ 
     { 
     "_index": "index1", 
     "_type": "myType", 
     "_id": "1", 
     "_score": 0.19178303, 
     "_source": { 
      "field1": "Commercial Banks" 
     } 
     } 
    ] 
    } 
} 

Fall 2: Multiple Substantiv Suche

GET index1/myType/_search 
{ 
    "query": { 
    "match": { 
     "field1": { 
     "type": "phrase", 
     "query": "comersial banks", 
     "fuzziness": "AUTO" 
     } 
    } 
    } 
} 

{ 
    "took": 1, 
    "timed_out": false, 
    "_shards": { 
    "total": 5, 
    "successful": 5, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 0, 
    "max_score": null, 
    "hits": [] 
    } 
} 

Also, im zweiten Fall, warum finde ich nicht das Dokument bei der Durchführung der match_phrase Abfrage? Gibt es etwas, das mir fehlt? Diese Ergebnisse machen nur Zweifel an dem, was ich weiß. Benutzt ich die unscharfe Suche falsch? Ich bin mir nicht sicher, ob das ein Problem ist, oder ich bin derjenige, der das Verhalten nicht versteht.

Vielen Dank im Voraus für das Lesen meiner Frage. Ich hoffe du kannst mir dabei helfen.

Antwort

2

Unschärfen werden in Phrasenabfragen nicht unterstützt.

Gegenwärtig schweigt ES darüber, d. H. Sie können den Parameter angeben, warnen Sie jedoch nicht, dass er nicht unterstützt wird. Es existiert eine pull request (#18322) (bezogen auf issue #7764), die dieses Problem beheben wird. Nach der Zusammenführung zu ES 5 wird diese Abfrage fehlgeschlagen.

Im breaking changes Dokument für 5.0 können wir sehen, dass dies nicht unterstützt werden:

Die multi_match Abfrage schlägt fehl, wenn fuzzinesscross_fields für verwendet wird, phrase oder phrase_prefix Typ. Dieser Parameter war undokumentiert und wurde für diese Typen von multi_match zuvor nicht ignoriert.

Verwandte Themen