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" },
...