Шаблоны индексов на основе файлов Elasticsearch не отображаются в вызове API "/_template"

Я пытаюсь автоматизировать использование шаблонов индекса в Elasticsearch, поэтому я начал создавать файлы в каталоге "[ES_CONFIG_DIR]/templates/" ( http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html) в правильном формате (пример файла: http://pastebin.com/waKCBGgW). Моя поваренная книга шеф-повара выполняет следующие действия:

1. Создайте файл шаблона JSON в каталоге "[ES_CONFIG_DIR]/templates/tpl_misc.json". 2. Перезапустите службу эластичного поиска.

Блок кода шеф-повара для завершения этого:

Связанные атрибуты:

    default['elasticsearch']['index_templates'] = [
      "tpl_misc"
    ]

Связать код рецепта:

    directory "#{node['elasticsearch']['path']['conf']}/templates" do
     owner 'elasticsearch'
     group 'elasticsearch'
     mode '0755'
     action :create
    end

    node['elasticsearch']['index_templates'].each do |tpl|
      template "#{node['elasticsearch']['path']['conf']}/templates/#{tpl}.json" do
        source "#{tpl}.erb"
        owner 'elasticsearch'
        group 'elasticsearch'
        mode '0644'
        notifies :restart, 'service[elasticsearch]'
      end
    end

Я могу подтвердить, что файлы шаблонов создаются там, где они должны (в / usr / local / etc /asticsearch/templates), хотя, когда я проверяю, существует ли ES (curl -iL http://localhost:9200/_template/tpl_misc) и я всегда получаю 404. Кто-нибудь есть какие-либо советы по поводу моей проблемы?

Я ценю помощь!

2 ответа

Я узнал, что шаблоны индекса, добавленные в виде файлов в каталоге "[CONFIG]/templates/", в настоящее время не отображаются в результатах метода API "/ _template / " *. Кто-то ссылается на это в следующей теме:

http://elasticsearch-users.115913.n3.nabble.com/Loading-of-index-settings-template-from-file-in-config-templates-td4024923.html

Хотя это не было задокументировано в официальной документации шаблонов индексов на веб-сайте Elasticsearch. С тех пор я создал запрос на получение обновлений документации, что также привело к открытию проблемы для добавления возможности к методу API "/ _template /".

Шаблоны из конфигурационных файлов больше не поддерживаются. Вместо этого используйте запрос PUT для API.

https://www.elastic.co/guide/en/elasticsearch/reference/2.1/breaking_20_index_api_changes.html

https://github.com/elastic/elasticsearch/issues/10193

Это может быть автоматизировано с помощью curl для тех, кто пытается использовать ansible или что-то еще для предоставления своих узлов. Основным недостатком является то, что вам нужно подождать, пока ваш узел будет активен, прежде чем вы сможете свернуться.

Другие вопросы по тегам