以下映射中的字段版本类型是日期。但是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
答案 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 ”并将其粘贴到某处时,可以轻松查看实际发送的内容: