Elasticsearch 如何指定查询分片
Elasticsearch 查询的时候默认是随机从一些分片中查询数据,可以通过配置让 Elasticsearch 从某些分片中查询数据
client.prepareSearch('crxy').setPreference("_local")
- _local:指查询操作会优先在本地节点有的分片中查询,没有的话再在其它节点查询。
- _primary:指查询只在主分片中查询。
- _primary_first:指查询会先在主分片中查询,如果主分片找不到(挂了),就会在副本中查询
- _only_node:指在指定 id 的节点里面进行查询,如果该节点只有要查询索引的部分分片,就只在这部分分片中查找,所以查询结果可能不完整
- _prefer_node:nodeid 优先在指定的节点上执行查询
- Custom (string) value:随机指定一个值就可以。
- _shards: 0,1,2,3,4:查询指定分片的数据
- 自定义:_only_nodes: nodeid1,nodeid2,nodeid3 根据多个节点进行查询
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论