索引分布架构详解
1. 带路由的索引操作
在进行索引操作时,若使用路由,首先要删除旧文档,避免添加相同标识符的文档时,路由导致同一文档被放置到其他分片。可使用以下命令删除索引中的所有文档:
curl -XDELETE localhost:9200/documents/_query?q=*:*
之后重新索引数据,并添加路由信息。示例命令如下:
curl -XPUT localhost:9200/documents/doc/1?routing=A -d '{ "title" : "Document No. 1" }'
curl -XPUT localhost:9200/documents/doc/2?routing=B -d '{ "title" : "Document No. 2" }'
curl -XPUT localhost:9200/documents/doc/3?routing=A -d '{ "title" : "Document No. 3" }'
curl -XPUT localhost:9200/documents/doc/4?routing=A -d '{ "title" : "Document No. 4" }'
路由参数指示 ElasticSearch 将文档放置在哪个分片中。在少量文档的情况下,不同路由值的文档通常会放在不同分片。可以在 Paramedic 页面验证,一个节点只有一个文档(路由值为 B),另一个节点有三个文档(路由值为 A)。
若关闭
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



