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を日付フィールドに変換するようにフィールドを置き換えます)。 –