В моей БД у меня есть данные в следующем формате:
Но в ElasticSearch
я хочу выдвинуть данные относительно элементатипы. Таким образом, каждая запись в ElasticSearch будет перечислять все имена элементов и их значения для каждого типа элементов.
Примерно так:
{
"_index": "daily_needs",
"_type": "id",
"_id": "10",
"_source": {
"item_type: "10",
"fruits": "20",
"veggies": "32",
"butter": "11",
}
}
{
"_index": "daily_needs",
"_type": "id",
"_id": "11",
"_source": {
"item_type: "11",
"hair gel": "50",
"shampoo": "35",
}
}
{
"_index": "daily_needs",
"_type": "id",
"_id": "12",
"_source": {
"item_type: "12",
"tape": "9",
"10mm screw": "7",
"blinker fluid": "78",
}
}
Могу ли я добиться этого в Logstash
?
Я новичок в Logstash, но, насколько я понимаю, это можно сделать в filter
. Но я не уверен, какой фильтр использовать, или я должен создать собственный фильтр для этого.
Текущий пример конфигурации:
input {
jdbc {
jdbc_driver_library => "ojdbc6.jar"
jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string => "myjdbc-configs"
jdbc_user => "dbuser"
jdbc_password => "dbpasswd"
schedule => "* * * * *"
statement => "SELECT * from item_table"
}
}
filter {
## WHAT TO WRITE HERE??
}
output {
elasticsearch {
hosts => [ "http://myeshost/" ]
index => "myindex"
}
}
Предлагаем, Спасибо.