I am using the search_as_you_type field to provide suggestions to users for addresses from a large index of around 30m addresses. I am using this with the default settings for the most part and it generally works great but I have noticed an odd edge case which I cannot work out.
If a customer types "post office" I get suggestions starting with post office, so far so good. However if I then continue with "post office oxford" I have the same suggestions from before (oxford is not being taken into account). If add a comma so "post office oxford," I then get "Post Office, Oxford Road, Stone, Aylesbury HP17 8PB" at the top of the list (great, this is what I was looking for!).
I am baffled as to why it is not until I enter the comma that I get this, I would have expected to start getting suggestions at "post office oxf". Any help would be hugely appreciated as I have been poring over this for hours!
This is my index mapping entry for the description field:
"description": {
"type": "search_as_you_type",
"index_options": "docs",
"analyzer": "standard"
}
This is the query:
{
"query": {
"multi_match": {
"query": "Post Office Oxford",
"type": "bool_prefix",
"fields": [
"description",
"description._2gram",
"description._3gram"
]
}
}
}
Is there something obvious here that I am doing wrong? Elasticsearch is version 7.7.0.
Thanks in advance for any help or advice!