ElasticSearch:指定在哪个分片上存储数据

ElasticSearch: Specify which shard to store data on

我想根据某些字段值将我的数据存储在不同的分片上。例如,地理分片是我正在寻找的东西。我所有大陆价值 'NA' 的记录都应该转到北美的分片 1; 'EU' 应该去 shard-2,欧洲等等。

有什么方法可以指定记录(文档)应该转到哪个分片?

试图找到它,但在 return 中我只得到与碎片相关的文献。关于此的任何信息都会有所帮助!

您可以使用 routing 参数影响数据重新分区。在您的情况下,使用大洲名称作为路由键将按同一分片上的特定大洲对文档进行分组。但是,您将无法直接选择将文档存储在哪个分片中。

这里是关于routingdefinitive guide section about it, and the index API documentation

请注意,这可能会导致一些 shards/nodes 比其他人使用得更多。