Indexing tree-like structures
Trees are everywhere. If you develop a shop application, you would probably have categories. If you look at the filesystem, the files and directories are arranged in tree-like structures. This book can also be represented as a tree: chapters contain topics and topics are divided into subtopics. As you can imagine, Elasticsearch is also capable of indexing tree-like structures. Let's check how we can navigate through this type of data using path_analyzer
.
Data structure
First, let's create a simple index structure by using the following lines of code:
curl -XPUT 'localhost:9200/path' -d '{ "settings" : { "index" : { "analysis" : { "analyzer" : { "path_analyzer" : { "tokenizer" : "path_hierarchy" } } } } }, "mappings" : { "category" : { "properties" : { "category" : { "type" : "string", "fields" : { "name" : { "type" : "string","index" : "not_analyzed" }, ...