Elasticsearch: 自定义索引级元数据

创建于 2012-01-29  ·  12评论  ·  资料来源: elastic/elasticsearch

提供一种将元数据附加到索引的方法,类似于可以
完成类型映射。

discuss

最有用的评论

@clintongormley我想对实现索引级元进行投票。 我想很多 ES 用户都喜欢将一些关于索引的数据附加到索引本身(映射版本,以便摄取者知道他们应该使用哪个编码器;创建时间;创建索引的节点;强制刷新/合并列表;手动干预列表; 等等),我认为它与每个文档的_meta字段一样有用。

所有12条评论

不,这就是我提到的类型映射级别的元数据。

使用自定义元创建索引

{
“设置”:{
"number_of_shards" : 3,
“number_of_replicas”:2
},
“自定义元”:{
“名称1”:“值1”,
"name2" : { "attr1": "value1", "attr2":"value2"},
"name3" : 号码
}
}

删除
/{index}/_custom_meta
/{index}/_custom_meta/{name}


/{index}/_custom_meta/{name}

得到
/{index}/_custom_meta
/{index}/_custom_meta/{name}

也许可以通过索引设置支持的东西?

经过讨论,这可以简单地通过使用类型meta并在其中存储一个文档来实现。 收盘

@clintongormley Elasticsearch 从 6.0 版开始不再支持在索引中包含多种类型。
您对存储每个索引的元数据有任何更新的建议吗?

@brusic 这是一个便宜的操作吗? 目前,我在批量请求中更新元文档,以确保元数据与我的索引数据一致。 所以我会为每个索引文档做一个索引更新..

首先,我之前的陈述有点错误。 Clinton 指的是元类型,而不是现在官方的元字段(当时不存在)。

我从来没有使用过元字段,因为它们是在这个问题开放多年后被引入的,我找到了其他替代方案。 我会假设元字段被添加到集群状态,这可能会使这成为一项昂贵的操作。 集群状态需要将新的差异传播到集群中的其他节点,我认为这会使其比简单地索引文档更慢(因为没有缓冲等等)。

感谢准确的回答!

我将为索引元数据使用单独的索引,因为可以使用批量请求同时索引/更新不同索引中的文档。

@clintongormley我想对实现索引级元进行投票。 我想很多 ES 用户都喜欢将一些关于索引的数据附加到索引本身(映射版本,以便摄取者知道他们应该使用哪个编码器;创建时间;创建索引的节点;强制刷新/合并列表;手动干预列表; 等等),我认为它与每个文档的_meta字段一样有用。

此页面是否有帮助?
0 / 5 - 0 等级