【发布时间】:2014-12-25 06:37:06
【问题描述】:
我有一个用例,我有一组预定义的字段,还需要支持将动态字段添加到 ElasticSearch 并对其进行一些基本搜索。我可以使用动态模板映射来实现这一点。但是,添加这种动态字段的频率很高。
考虑 Event 类型的这个 ES 文档:
{
"name":"Youth Conference",
"venue":"Ahmedabad",
"date":"10/01/2015",
"organizer":"Invincible",
"extensions":{
"about": {
"vision":"Visualizes the image of an ideal Country. ",
"mission":"Encapsulates the gravity of the top reformative solutions for betterment of Country."
}
// Any thing can go here..
}
}
在上面的示例中,每个事件文档可能有任何未知/新字段。因此,对于每一个引入的新动态字段,ES 都会更新 type 的映射。我关心的是在现有类型中添加新字段映射的成本是多少?
我计划通过引入另一个 type,例如 EventExtensions,将所有动态映射(在 extensions 内)从 Event 类型中分离出来 并使用父/子关系将其映射到 Event 类型。我相信这可能会限制频繁向类型添加动态字段的成本(如果有的话)。但是,据我所知,使用父/子关系需要更多内存。
【问题讨论】:
-
在您的问题中更具体。我无法理解您的情况。
标签: elasticsearch