Mapping a completion field
For providing search functionalities for our user, one of the most common requirements is to provide text suggestion for our query.
Elasticsearch provides a helper for archiving this functionality via a special type mapping called completion.
Getting ready
You need an up-and-running Elasticsearch installation as we described in the Downloading and installing Elasticsearch recipe in Chapter 2, Downloading and Setup.
How to do it...
The definition of a completion field is similar to the previous core type fields. For example, to provide suggestion for a name with alias, we can write a similar mapping:
{ "name": {"type": "string", "copy_to":["suggest"]}, "alias": {"type": "string", "copy_to":["suggest"]}, "suggest": { "type": "completion", "payloads": true, "analyzer": "simple", "search_analyzer": "simple" } }
In this example, we have defined two string fields name...