1
Я импортирую таблицу, используя плагин logstash jdbc, и я не понимаю, почему столбец динамически анализируется как tex.Elasticearch logstash jdbc: столбец datetime анализируется как текстовый тип
это мой SQL колонка:
[DATE_VISA] [datetime]
мой файл logstash конф:
input {
jdbc {
jdbc_connection_string => "jdbc:sqlserver://192.168.100.205;databaseName=myDB;"
jdbc_user => "user"
jdbc_password => "pass"
jdbc_driver_library => "C:\Program Files (x86)\sqljdbc_6.0\enu\sqljdbc42.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
statement => "SELECT [DATE_VISA] FROM [dbo].[TABLE] WHERE [DATE_VISA] IS NOT NULL"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
index => "myindex"
document_type => "mytype"
}
}
, когда я прошу отображение в ES Я вижу, что:
"date_visa": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
Если я пытаюсь сделать карту, прежде чем она приведет к ошибке при импорте.
Знаете ли вы, что происходит в этой ошибке, и как сделать фильтр или преобразование, пожалуйста?
спасибо за сообщение, я видел фильтр даты для парсинга журналов, но я не видел, как это сделать с помощью jdbc, не могли бы вы дать мне ссылку с примером? мне было бы очень полезно –
Когда ваш запрос запустится, вы должны получить поле в logstash, которое называется «date_visa». Используйте это как вход в фильтр даты {} (и, вероятно, замените это поле, чтобы оно превратило date_visa в поле даты). –