【发布时间】:2015-11-01 11:38:39
【问题描述】:
在询问有关将 ES 用于 Web 应用程序的问题时,建议使用一个索引用于用户配置文件、另一个数据索引等,以及其他几个用于日志的索引。
将所有这些都放在具有多个 Web 应用程序的集群上,这似乎会使事情变得混乱或杂乱无章。
在这种情况下,人们是否每个应用程序使用一个集群?我有点困惑,因为当我阅读有关索引日志的文章时,它们似乎是指将数据存储在多个索引中,而不是索引中的类型。
其次,为什么不为每个应用创建一个索引,包括日志、用户配置文件、数据等类型?
在 Web 应用程序的索引中使用多个索引而不是多个类型有什么好处吗?
-- 更新--
此外,这个问题中的 cmets Elastic search, multiple indexes vs one index and types for different data sets? 在解释原因方面似乎还不够:
数据保留:对于应用程序日志/指标数据,使用不同的索引 如果您需要不同的保留期限
是否建议这样做,因为删除整个索引而不是索引中的类型更简单?是否与数据的存储方式以及删除数据后空间恢复的方式有关?
【问题讨论】:
-
这是基于意见/过于宽泛。
-
我宁愿听到好的意见,专业人士,而不是许多建筑师认为实际上是好的坏意见。与其投反对票,也不要提供任何建设性的东西,也许你会建议一种更好的方式来提出对社区更有益的问题。
-
最好使用许多不同的索引,每个索引都包含自己的类型,而不是一个索引包含多种类型。 根据经验,当您在一个索引中有两个类型具有相同名称的属性时,该属性的类型必须与该属性所在的每个类型相同。如果不是,如果我没记错的话,Elasticsearch 会抛出异常。将类型索引到同一集群上的不同索引中将避免出现这种情况。
-
@RussCam - 我相信你所指的问题可以在这里找到:elastic.co/guide/en/elasticsearch/guide/current/mapping.html -
We can avoid this problem either by naming the fields differently—for example, title_en and title_es—or by explicitly including the type name in the field name and querying each field separately