Nach meinem Index in Elasticsearch mit den nächsten Standardeinstellung erstellen:Elasticsearch Abfrage Probleme
{ "autosuggest_destination": {
"aliases": {},
"mappings": {
"destination": {
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"id": {
"type": "string"
},
"state": {
"type": "string"
}
}
}
},
"settings": {
"index": {
"creation_date": "1459329252404",
"number_of_shards": "1",
"number_of_replicas": "0",
"version": {
"created": "1070299"
},
"uuid": "_1D7ZW0dQwy9kiKn0kKrLw"
}
},
"warmers": {} } }
nach Einsatzdaten zu indizieren und verifiziert.
ich dieses Problem bekommen, während für ein Auto-Vervollständigen-Wort zu suchen versuchen:
, wenn ich versuche zu suchen ‚neuer‘ es gründet matches (New York). aber wenn ich versucht, ein Leerzeichen und einen ersten Buchstaben nach 'new y' hinzuzufügen, wird nichts gefunden. und nachdem es versucht, ein Leerzeichen und zwei Buchstaben nach "neuen yo" hinzuzufügen, funktioniert es.
Das Hauptproblem ist zu verstehen, warum der erste Buchstabe nach einem Wort mit ein Leerzeichen ist keine Übereinstimmung?
Beispiel:
GET autosuggest_destination/destination/_search { "query": {
"match": {
"city": {
"query": "new",
"type": "phrase_prefix"
}
} }
Result : New York
GET autosuggest_destination/destination/_search { "query": {
"match": {
"city": {
"query": "new y",
"type": "phrase_prefix"
}
} }
No Result
GET autosuggest_destination/destination/_search { "query": {
"match": {
"city": {
"query": "new yo",
"type": "phrase_prefix"
}
} }
Result : New York
Hat jemand eine Ahnung, was das Problem sein sollte?
Thx, Es behebt das Problem, aber sollten die max_expansions so groß wie die Elemente zählen, um ein vorsichtiges Ergebnis zu erhalten? –
Haben Sie versucht, eine Übereinstimmung mit der Unschärfe zu finden? https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html – mariobyn