Après avoir créé mon index à la recherche élastique avec les réglages suivants par défaut:ElasticSearch ennuis de requête
{ "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": {} } }
après les données d'insertion à l'index et vérifié.
je reçois ce problème en essayant de rechercher un mot complet automatique:
lorsque je tente de rechercher « nouveau », il fonde matchs (New York). mais si i essaie d'ajouter un espace et une première lettre après 'new y', il ne trouve rien . et après il essaie d'ajouter un espace et deux lettres après 'new yo' cela fonctionne.
Le principal problème est de comprendre pourquoi la première lettre après un mot avec un espace ne correspond pas?
exemple:
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
Quelqu'un at-il une idée de ce que devrait être le problème?
Thx, Il a résolu le problème mais les expansions_max devraient-elles être aussi grandes que les éléments comptent pour obtenir un résultat gardé? –
avez-vous essayé la requête de correspondance avec le flou? https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html – mariobyn