2016-10-18 9 views
1

Я использую logstash для ввода моих журналов в elasticsearch. Каждый день, это создать новый индексдобавить пользовательское сопоставление для elasticsearch в logstash

вот мой выходной частью моего logstash конфигурационного файла

output { 
    stdout { codec => rubydebug } 
    elasticsearch { 
     hosts => ["127.0.0.1"] 
     index => "logstash-%{+YYYY.MM.dd}" 
    } 
} 

Я хочу некоторые поля должны быть не проанализированы. Но каждый раз, когда создается новый индекс, создается новое сопоставление и анализируются все поля. Как я могу заставить elasticsearch использовать конкретное отображение каждый раз, когда создается новый индекс?

+0

Что вы получаете, когда вы запустите следующую команду 'локон -XGET LOCALHOST: 9200/_template'? – Val

+0

Возможный дубликат [Изменить сопоставление строк по умолчанию на «не проанализировано» в Elasticsearch] (http://stackoverflow.com/questions/27483302/change-default-mapping-of-string-to-not-analyzed-in-elasticsearch) – baudsp

ответ

0

Вы можете сделать это путем присвоения шаблонов и управления ими, например, мою конфигурацию:

elasticsearch { 
      hosts => ["localhost:9200"] 
      index => "XXX-%{+YYYY.ww}" 
      template => "/opt/logstash/templates/XXX.json" 
      template_name => "XXX" 
      manage_template => true 
} 

Я считаю, что моя конфигурация может быть немного устарели, так как мы, к сожалению, на старой версии logstash .. . Поэтому было бы полезно прочитать об этом в документах: https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html

Это, безусловно, возможно в логсташе.

Артур

Смежные вопросы