在询问有关在Web应用程序中使用ES的问题时,已经建议为用户配置文件,数据的另一个索引等提供一个索引,并为日志提供其他几个索引。
将这些全部放在具有多个Web应用程序的集群上,这似乎会让事情变得混乱或混乱。
在这种情况下,人们是否每个应用程序使用一个群集?我有点困惑,因为当我阅读有关索引日志的文章时,它们似乎是指将数据存储在多个索引中,而不是索引中的类型。
其次,为什么每个应用程序没有一个索引,包含日志,用户配置文件,数据等类型?
在Web应用程序的索引中使用多个索引而不是多个类型有什么好处吗?
- 更新 -
除此之外,此问题Elastic search, multiple indexes vs one index and types for different data sets?中的评论在解释原因方面似乎还不够:
数据保留:对于应用程序日志/指标数据,请使用不同的索引 如果您需要不同的保留期
这是推荐的,因为删除整个索引而不是索引中的类型更简单吗?是否与数据的存储方式有关,然后在删除数据后恢复空间?
答案 0 :(得分:0)
我找到了创建多个索引以满足我在ElasticSearch's pagination documentation中寻求答案的主要原因:
要理解为什么深度分页存在问题,让我们想象一下 正在一个索引中搜索五个主分片。什么时候我们 请求结果的第一页(结果1到10),每个分片 产生自己的前10个结果并将它们返回给请求 节点,然后对所有50个结果进行排序以选择整体 前10名。
现在想象我们要求第1,000页 - 结果10,001到10,010。 除了每个碎片必须生成之外,一切都以相同的方式工作 其前10,010个结果。请求节点然后对所有进行排序 50,050结果并丢弃其中50,040个!
您可以在分布式系统中看到排序结果的成本 我们页面越深,指数级增长。有一个很好的理由 对于任何查询,网络搜索引擎都不会返回超过1,000个结果。