我尝试使用以下映射来索引我的数据:
{
"mappings": {
"chow-demo": {
"properties": {
"@fields": {
"dynamic": "true",
"properties": {
"asgid": {
"type": "string",
"analyzer": "keyword"
},
"asid": {
"type": "long"
},
"astid": {
"type": "long"
},
"clfg": {
"analyzer": "keyword",
"type": "string"
},
"httpcode": {
"type": "long"
},
"oid": {
"type": "string"
},
"onid": {
"type": "long"
},
"ptrnr": {
"analyzer": "keyword",
"type": "string"
},
"pguid": {
"analyzer": "keyword",
"type": "string"
},
"ptid": {
"type": "long"
},
"sid": {
"type": "long"
},
"src_url": {
"analyzer": "keyword",
"type": "string"
},
"title": {
"analyzer": "keyword",
"type": "string"
},
"ts": {
"type": "long"
}
}
},
"@timestamp": {
"format": "dateOptionalTime",
"type": "date"
},
"@message": {
"type": "string"
},
"@source": {
"type": "string"
},
"@type": {
"analyzer": "keyword",
"type": "string"
},
"@tags": {
"type": "string"
},
"@source_host": {
"type": "string"
},
"@source_path": {
"type": "string"
}
}
},
"chow-clfg": {
"_parent": {
"type": "chow-demo"
},
"dynamic": "true",
"properties": {
"_ttl": {
"enabled": true,
"default": "1h"
},
"clfg": {
"analyzer": "keyword",
"type": "string"
},
"@timestamp": {
"format": "dateOptionalTime",
"type": "date"
},
"count": {
"type": "long"
}
}
}
}
}
我尝试填充父类型“chow-demo”而不填充子类型“chow-clfg”,并且文档拒绝索引。 (没有文件被索引到Elasticsearach)
当我取出“chow-clfg”的子映射时,它会像往常一样正确编制索引。因此,我有以下问题:
在我的项目进展中真的需要帮助这个问题!谢谢!
答案 0 :(得分:2)
是的,您的映射是错误的。 _ttl
元素应该在chow-clfg
类型中高一级。换句话说,_ttl
应与_parent
处于同一级别。但是,我不太确定这个问题会如何影响您的索引能力。
不必将父母和孩子编入索引。