Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Elasticsearch has <a href="http://www.elasticsearch.org/guide/reference/index-modules/analysis/pathhierarchy-tokenizer.html" rel="noreferrer">Path Hierarchy Tokenizer</a> that was created exactly for such use case. Here is an example of how to set it for your index:</p> <pre><code># Create a new index with custom path_hierarchy analyzer # See http://www.elasticsearch.org/guide/reference/index-modules/analysis/pathhierarchy-tokenizer.html curl -XPUT "localhost:9200/prefix-test" -d '{ "settings": { "analysis": { "analyzer": { "prefix-test-analyzer": { "type": "custom", "tokenizer": "prefix-test-tokenizer" } }, "tokenizer": { "prefix-test-tokenizer": { "type": "path_hierarchy", "delimiter": "." } } } }, "mappings": { "doc": { "properties": { "dots": { "type": "string", "analyzer": "prefix-test-analyzer", //"index_analyzer": "prefix-test-analyzer", //deprecated "search_analyzer": "keyword" } } } } }' echo # Put some test data curl -XPUT "localhost:9200/prefix-test/doc/1" -d '{"dots": "first.second.third"}' curl -XPUT "localhost:9200/prefix-test/doc/2" -d '{"dots": "first.second.foo-bar"}' curl -XPUT "localhost:9200/prefix-test/doc/3" -d '{"dots": "first.baz.something"}' curl -XPOST "localhost:9200/prefix-test/_refresh" echo # Test searches. curl -XPOST "localhost:9200/prefix-test/doc/_search?pretty=true" -d '{ "query": { "term": { "dots": "first" } } }' echo curl -XPOST "localhost:9200/prefix-test/doc/_search?pretty=true" -d '{ "query": { "term": { "dots": "first.second" } } }' echo curl -XPOST "localhost:9200/prefix-test/doc/_search?pretty=true" -d '{ "query": { "term": { "dots": "first.second.foo-bar" } } }' echo curl -XPOST "localhost:9200/prefix-test/doc/_search?pretty=true&amp;q=dots:first.second" echo </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload