通过路由,我们可以在特定的分片中分配特定的文件/ doc / json,这样可以轻松提取数据。 但我想也可以将特定字段的json文件存储在特定的分片中。 例如: 我有三个字段:用户名,消息和时间。我创建了3个用于索引的分片。 现在我想要那个 username存储在一个分片中,消息存储在另一个分片中,时间存储在另一个分片中。
谢谢
答案 0 :(得分:1)
不,这是不可能的。整个文档(JSON doc)将存储在一个分片上。如果您想要执行您描述的操作,那么您应该将数据拆分为单独的文档,然后您可以以不同的方式对它们进行路由。
至于推理,假设有一个与document5匹配的用户名查询。如果document5分布在许多分片上,则必须查询这些分片以使document5的其他部分返回以编译结果。想象一下,跨越不同领域的进一步复杂的AND查询,会有很多流量(并且等待)以确定两个字段是否匹配以计算文档是否是命中。