Executing a facet search
Searching for results is obviously the main activity of a search engine, thus facet is very important because it often helps to complete the results.
Faceting is executed along the search doing analytics on searched results.
Getting ready
You need a working ElasticSearch cluster and required packages of the Creating a client recipe of this chapter.
The code of this recipe is in the chapter_11/faceting.py
and chapter_11/faceting_pyes.py
files.
How to do it...
To extend a query with the facet part, you need to define a facet section as we have already seen in Chapter 6, Facets. In the case of the official ElasticSearch client, you can add the facet DSL to the search dictionary to provide facets. We need to perform the following steps:
- We need to initialize the client and populate the index as follows:
import elasticsearch from pprint import pprint es = elasticsearch.Elasticsearch() index_name = "my_index" type_name = "my_type" from utils import create_and_add_mapping...