How to suggest values that don't being with a given input and support for fuzziness


I am indexing documents that have a field called tags - which is an array
of multi word strings. My goal is to take a user's input and return
suggestions for tags which already exist that closely match the user's
input. I started by changing the mapping of the field to allow for some
custom fields for the tags property. The custom fields enable the
completion suggester to work. This works well for returning tags that begin
with the user's input. However I get no results that contain the user's
input as part of a tag. This makes sense since the completion suggester is
a prefix suggester, but I'm not sure what to look at next to achieve my
goal. I tried just the term suggester, but that returns recommendations for
every word the user may have entered instead of the entire tag. I'd also
like to support some level of fuzziness so some input like boik may return
a suggestion like book.

Do I need to create a new index just for this field?

I'm a bit new to elasticsearch and would appreciate some direction.

Thank you.

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit