Я использую папку в качестве входных данных:
input { file { path => "C:/ProjectName/Uploads/*" start_position => "beginning" sincedb_path => "dev/null" } }
и в качестве выходных данных:
output { elasticsearch { hosts => "localhost" index => "manual_index_name" # want filename here document_type => "_doc" } }
Я хочу, чтобы индекс вasticsearch был именем индексируемого файла.Я попробовал варианты этого ответа безуспешно, так как мне не ясно, что он делает: https://stackoverflow.com/a/40156466/6483906
Вам понадобится фильтр grok, чтобы найти последнюю часть имени файла:
grok
filter { grok { match => ["path", "Uploads/%{GREEDYDATA:index_name}" ] } }
, а затем просто использовать часть в имени индекса index => "%{index_name}"
index => "%{index_name}"