ElasticSearch里面的偏好查询
转自:http://blog.csdn.net/u010454030/article/details/73609231 在es查询的时候我们可以控制Preference,来完成特定shard或节点上的数据查询,默认情况下查询是随机的。 假如现在我们有一份索引5个shard和3个副本,当一个查询请求过来的时候,查询操作如何执行,在没有使用路由的情况下5个shard的数据肯定都要查询,然后查询5个shard时候到底查的是主shard还是replia都是随机的。 通过偏好查询,我们可以有更多的选择定制,比如我们可以设置只查询主shard,或者只查replia,或者仅仅查某几个节点的数据。 下面来介绍下Preference相关的参数: (1)_primary:只查询主shard,也就是说不管你有多少个副本,只对主shard进行检索,这种场景可以用在所有副本不可用的时候,强制读取主shard数据。 (2)_primary_first:优先读取主shard,如果主shard无效或者失败,则会读取其他shard (3)_replica:只查询replia (4)_replica_first:优先查询...