类型日期隐藏在elasticsearch中的文本(v5.4.0)

时间:2017-08-03 12:06:59

标签: elasticsearch

以下映射中的字段版本类型是日期。但是groups / _mapping上列出的版本类型是文本。映射或设置有什么问题吗?感谢。

映射:

PUT groups

{
  "settings": {
    "index.mapping.ignore_malformed": true
  },
  "mappings": {
     "shop": {
      "_all":  { "enabled": false  },
      "dynamic": "false",
      "date_detection" : false,
      "properties": {
          "sid":      { "type": "keyword"},
          "version":  {
              "type":   "date",
              "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
          }
      }
    }
  }
}

结果是。

{
    "acknowledged": true,
    "shards_acknowledged": true
}

来自http://host:9200/groups/_mapping

的结果
{
  "groups": {
    "mappings": {
      "shop": {
        "properties": {
          "sid": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "version": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      }
    }
  }
}

按如下方式插入数据:

{'sid': '772634b9b9a8437f9cbfaec2b546f8af', 'version': '20131209 15:19:04'}

回应:

{
    '_id': '772634b9b9a8437f9cbfaec2b546f8af',
    '_index': 'groups_version',
    '_shards': {'failed': 0, 'successful': 2, 'total': 2},
    '_type': 'shop',
    '_version': 1,
    'result': 'created',
}

asdas

1 个答案:

答案 0 :(得分:1)

我想我可能知道发生了什么 - 在Kibana中 当你在PUT group和身体{}之间放一条空行时它不会将身体附加到请求和发送的唯一请求是:

curl -XPUT "http://localhost:9200/groups"

这就是您使用text进行标准映射的原因。但是如果你删除空行,则everythnig就可以了,并发送此请求:

curl -XPUT "http://localhost:9200/groups" -H 'Content-Type: application/json' -d'
{ "body": {
  "settings": {
    "index.mapping.ignore_malformed": true
  },
  "mappings": {
     "shop": {
      "_all":  { "enabled": false  },
      "dynamic": "false",
      "date_detection" : false,
      "properties": {
          "sid":      { "type": "keyword"},
          "version":  {
              "type":   "date",
              "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
          }
      }
    }
  }
}
}'

单击“扳手”按钮,然后“复制为cURL ”并将其粘贴到某处时,可以轻松查看实际发送的内容:

enter image description here