Adding a field with multiple mapping
Often a field must be processed with several core types or in different ways. For example, a string field must be processed tokenized
for search and not-tokenized
for sorting. To do this, we need to define a multifield special property fields
.
The fields
property is a very powerful feature of mappings because it allows you to use the same field in different ways.
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...
To define a multifield property, we need to define a dictionary containing the subfields called fields
. The subfield with the same name of parent field is the default one.
If we consider the item of our order
example, we can index the name in this way:
"name": { "type": "keyword", "fields": { "name": { ...