1
我正在使用logstash jdbc插件導入表,我不明白爲什麼一列被動態地解析爲tex。Elasticsearch logstash jdbc:datetime列被解析爲文本類型
這是我的SQL列:
[DATE_VISA] [datetime]
我logstash的conf文件:
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 {}過濾器的輸入(並且可能會將其替換爲字段,以便將date_visa轉換爲日期字段)。 –