The words having the same meaning
You may have heard about synonyms—words that have the same or similar meaning. Sometimes you would want to have some words to be matched when one of those words is entered into the search box. Let's recall our sample data from Chapter 2, Searching Your Data; there was a book called "Crime and Punishment". What if we want that book to be matched not only when the words crime
or punishment
are used, but also when using words like criminality
and abuse
. However silly it may sound, let's use that example to see how synonyms can be used in ElasticSearch.
Synonym filter
In order to use the synonym filter, we need to define our own analyzer (please refer to Chapter 1, Getting Started with ElasticSearch Cluster, in order to see how to do that). Our analyzer will be called synonym
and will use the whitespace
tokenizer and a single filter called synonym. Our filter's type
property needs to be set to synonym
, which tells ElasticSearch that this filter is a synonym filter...