gpt4 book ai didi

date - 无法在ElasticSearch上定义日期时间索引

转载 作者:行者123 更新时间:2023-12-02 23:55:54 27 4
gpt4 key购买 nike

我有一个发送到elasticsearch的文档,看起来像这样:

{
"created": 1543247749419,
"name": "something",
"person": {
"created": 1543247012491,
...
}
}

这两个 created字段均为 epoch_millis日期格式(时间戳(以毫秒为单位))。我基本上尝试了三件事:
  • 使用curl像这样添加文档:
  • curl -H "Content-Type: application/json" -X POST "http://ipaddress:9200/somedb" -d "@/some/path"
    到目前为止一切顺利,但是索引将我的 created的类型设置为 long,而不是 date
  • 从Kibana界面复制索引,将long更改为date并为其创建一个新的数据库:

    {
    “映射”:{
    “somedb2”:{
    “属性”:{
    “创建”:{
    “type”:“日期”,
    “格式”:“x”
    },

  • 然后像这样发送数据:
    curl -H "Content-Type: application/json" -X POST "http://ipaddress:9200/somedb2" -d "@/some/path"
    然后我收到了来自elasticsearch的错误消息
     { "error": {
    "root_cause": [
    {
    "type": "mapper_parsing_exception",
    "reason":"Root mapping definition has unsupported parameters: [mapping : {properties={created={type=date, format=x},

    现在我真的不知道该怎么办。在interwebz上进行搜索基本上仅涉及格式设置部分,而与配置或创建索引无关。我需要一个用于Elasticsearch的插件来处理日期吗?

    最佳答案

    JSON(ElasticSearch的数据格式)没有日期的显式格式,即使以其他方式传递时,它们也始终被视为字符串。

    因此,实际上,如果您未指定日期格式,则应考虑以下选项:“strict_date_optional_time || epoch_millis”,即纪元毫秒-同样适用于您的情况。

    这就是为什么每个人都在谈论格式化而不是转换的原因;)

    关于date - 无法在ElasticSearch上定义日期时间索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596509/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com