【发布时间】:2019-05-04 21:50:04
【问题描述】:
我有一个文档发送到 elasticsearch,看起来像这样:
{
"created": 1543247749419,
"name": "something",
"person": {
"created": 1543247012491,
...
}
}
created 两个字段都是epoch_millis 日期格式(时间戳以毫秒为单位)。我基本上尝试了 3 件事:
- 像这样使用 curl 添加文档:
curl -H "Content-Type: application/json" -X POST "http://ipaddress:9200/somedb" -d "@/some/path"
到目前为止一切顺利,但索引将我的created 的类型设置为long,而不是date。
-
从 Kibana 界面复制索引,将
long更改为date并为其创建一个新数据库:{ “映射”:{ “somedb2”:{ “特性”: { “创建”:{ “类型”:“日期”, “格式”:“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 中编写了
mapping,实际上应该是mappings
标签: date elasticsearch indexing