Elasticsearch logstash jdbc:datetime列被解析为文本类型

时间:2017-01-06 17:13:39

标签: elasticsearch jdbc logstash

我使用logstash jdbc插件导入表格,我不明白为什么将列动态解析为tex。

这是我的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
      }
    }
  }

如果我在导入过程中出现错误之前尝试制作地图。

您知道这个错误发生了什么以及如何进行过滤或转换吗?

1 个答案:

答案 0 :(得分:1)

两个选项:

  • 使用日期{}过滤器将logstash设为日期。
  • 使用弹性搜索将其设为日期,使用带有'格式的模板'与数据库中的值匹配的param。