我目前正在使用ElasticSearch研究一些数据存储策略,并想知道存储日志的原因,this page表示:
标准格式是为每天分配一个新索引。
每天使用新类型创建名称(表格)的索引(数据库)是否更有意义?
我从每个索引的角度看这个与不同的Web应用程序绑定。
在另一种情况下,Web应用程序使用一个索引。该索引中的一种类型用于记录(我们目前使用SQL Server执行的操作)。这是一个好方法吗?
答案 0 :(得分:0)
有趣的想法,是的,你可能会这样做。为什么要使用多个指数?如果可以控制诸如分片到节点分配之类的东西(可能你想要将所有2015年存储在一组节点上,2014年,另一组节点),过滤缓存大小等等很重要,那么通过转到单个索引/多映射方法。对于非常大量的应用程序,该控制可能很重要。 YMMV。
关于"每个索引都绑定到不同的Web应用程序"在一个可搜索的保护伞下,别名可以(并且用于)收集多个物理指标;您每天/每周创建一个索引/例如 logs-20150730,logs-20150731 ... 并将 logs 别名分配给该系列中的所有索引。净效应与单个"索引相同#34;。
别名方法的一个很好的部分是清除/修剪旧数据是微不足道的;只需删除索引,当其内容超出您的数据保留策略时。使用多映射,您必须删除索引中的必需映射(可行,但非常I / O侵入,因为您可能会在每个分片内部推送映射通过。)