gpt4 book ai didi

elasticsearch - 应该创建多个文档类型还是多个索引?

转载 作者:行者123 更新时间:2023-11-29 02:48:08 26 4
gpt4 key购买 nike

我们为企业托管许多网站,每个企业都有许多文档类型,他们可能希望通过 ES 对其进行索引和搜索。

通常情况下,每个业务的文档类型数量少于 20 个,每个类型可能有不到 10 万个文档(通常更少)。

我不确定应该如何为这些网站设置数据?我应该将它们放入单独的索引中,还是应该将它们全部放入具有不同文档类型的同一索引中?还是有别的什么?

或许,我什至应该以不同的方式为中小型网站编制索引?如果我计划增长到 50K 个站点,我应该为哪些最坏的情况做好准备?

最佳答案

如果您使用多种映射类型创建一个索引,您将有一个很大的约束,要求您确保两种不同映射类型中具有相同名称的字段没有两种不同的类型,即您不能有一个字段名为 blablaCount 在同一索引内的一种映射类型中是 long 而在另一种映射类型中是 double

您的里程可能会有所不同,但由于 ES 2.0 和 great mapping refactoring , 通常是 recommended使用多个索引和每个索引一种映射类型。

我要做的是为每个索引创建多个索引和一个映射/文档类型,然后您只需将属于给定业务的所有索引与 alias 分组即可。 , 因此如果您需要查询给定业务的所有索引,您可以简单地查询该业务的别名。

另一种选择是将所有企业的所有文档放在同一组索引中,然后使用 term 查询在其 businessId 字段上简单地区分每个企业,甚至通过routingbusinessId 上。

但是,在您的情况下,由于每个企业都没有那么多文档,因此为每个企业创建一整套索引可能会浪费资源,因此我可能会选择第二个选项,即创建一组索引,每个索引都有自己的映射/文档类型,然后将所有业务的所有文档存储在这些索引中。

关于elasticsearch - 应该创建多个文档类型还是多个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35725618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com