Как загружать определенные поля только при загрузке индекса Elastic Search для использования плагина ввода elasticsearch

Я пытаюсь переместить данные из индекса эластичного поиска в другой индекс, используя тайник журнала.

и я хочу, чтобы это переместилось в определенное поле (мир) из индекса logstash в тестовый индекс.

Итак, я создаю файл конфигурации logstash.

Файл конфигурации такой.

input {
 elasticsearch {
  hosts => "hostname"
  index => "logstash-2017.03.17"
  query => `{"fileds" : ["world"]}`
}

filter {

}

output {
 elasticsearch {
  hosts => "hostname"
  index => "test-${+YYYY.MM.DD}"
  action => "index"
}
}

но logstash не запускается по ошибке

A plugin had an unrecoverable error. Will restart this plugin.
  Plugin: <LogStash::Inputs::Elasticsearch hosts=>["tales-gameelk"], index=>"logstash-2017.03.23", query=>"\"fields\" : [\"world\"]", codec=><LogStash::Codecs::JSON charset=>"UTF-8">, scan=>true, size=>1000, scroll=>"1m", docinfo=>false, docinfo_target=>"@metadata", docinfo_fields=>["_index", "_type", "_id"], ssl=>false>
  Error: [400] {"error":{"root_cause":[{"type":"parse_exception","reason":"Failed to derive xcontent"}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"init_scan","grouped":true,"failed_shards":[{"shard":0,"index":"logstash-2017.03.23","node":"5tE8NEF5T5uQbdrjb4yFiQ","reason":{"type":"parse_exception","reason":"Failed to derive xcontent"}}]},"status":400} {:level=>:error}

Как я могу решить эту проблему?


person Lee. YunSu    schedule 23.03.2017    source источник


Ответы (1)


Ваш ввод elasticsearch искажен. Попробуйте это вместо этого:

input {
  elasticsearch {
    hosts => "hostname"
    index => "logstash-2017.03.17"
    query => '{"_source" : ["world"]}'
  }
}
person Val    schedule 23.03.2017
comment
Проблема решена вашим комментарием. Большое спасибо. - person Lee. YunSu; 23.03.2017
comment
Рад, что это помогло! - person Val; 23.03.2017