Implementing your own auto-completion
Completion suggester does have limitations..!!
The completion
suggester has been designed to be a powerful and easily implemented solution for autocompletion but it supports only prefix queries, as we have seen in the previous section. Most of the time, autocomplete needs only to work as a prefix query, for example, if I type elastic
, then I expect elasticsearch
as a suggestion, but not nonelastic
.
There are some use cases when one wants to implement more general, partial word completion. The completion
suggester fails to fulfill this requirement.
The second limitation of the completion
suggester is it does not allow advance queries and filters searched.
To get rid of both these limitations, we are going to implement a custom auto-complete feature based on n-grams, which works in almost all the scenarios.
Creating an index
Let's create an index, location-suggestion
with the following settings and mappings:
curl -XPUT "http://localhost:9200/location-suggestion...