0

通过路由,我们可以在特定的分片中分配特定的文件/doc/json,这使得提取数据变得容易。但我在想是否有可能将 json 文件的特定字段存储在特定的分片中。例如:我有三个字段:用户名、消息和时间。我为索引创建了 3 个分片。现在我希望用户名存储在一个分片中,消息存储在另一个分片中,时间存储在另一个分片中。

谢谢

4

1 回答 1

1

不,这是不可能的。整个文档(JSON 文档)将存储在一个分片上。如果您想做您描述的事情,那么您应该将数据拆分为单独的文档,然后您可以以不同的方式路由它们。

至于推理,假设有一个与 document5 匹配的用户名查询。如果 document5 分布在许多分片上,则必须查询这些分片以获取 document5 的其他部分以编译结果。进一步想象一个跨不同字段的复杂 AND 查询,将有大量流量(和等待)来确定两个字段是否匹配以计算文档是否命中。

于 2013-07-24T11:39:29.273 回答