Эффективное управление шаблонами Elasticsearch имеет значение для поддержания оптимальной производительности Elasticsearch.
Шаблон в Elasticsearch относится к одной из двух следующих категорий и индексируется внутри Elasticsearch с помощью специальной конечной точки:
- Шаблоны индексов, которые представляют собой способ определения набора правил, включающих настройки индекса, сопоставления и шаблон индекса. Шаблон применяется автоматически при создании нового индекса с соответствующим шаблоном. Шаблоны также используются для динамического применения пользовательских отображений для полей, которые не предопределены в существующих отображениях.
- Поисковые шаблоны, которые позволяют определять шаблоны поисковых запросов с помощью скриптового языка mustache. Эти шаблоны служат в качестве заполнителя для переменных, определяемых в поисковых запросах.
Примеры
Создание шаблона динамического индекса
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | PUT /_template/template_1?pretty { "index_patterns": [ "logs*", "api*" ], "settings": { "number_of_shards": 2 }, "mappings": { "dynamic_templates": [ { "strings": { "match_mapping_type": "string", "mapping": { "type": "keyword" } } } ], "properties": { "host_name": { "type": "keyword" }, "created_at": { "type": "date" } } } } |
Создание шаблона поиска
1 2 3 4 5 6 7 8 9 10 11 12 13 | POST /_scripts/search_template_1?pretty { "script": { "lang": "mustache", "source": { "query": { "match": { "description": "{{query_string}}" } } } } } |
Выполнение поискового запроса с использованием шаблона поиска
1 2 3 4 5 6 7 | GET /_search/template?pretty { "id": "search_template_1", "params": { "query_string": "hello world" } } |
Поисковый запрос по умолчанию будет выполняться по всем индексам, доступным в кластере, и может быть ограничен конкретными индексами с помощью параметра index.