1.概述

转载:ElasticSearch里面的偏好查询

在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:优先查询replia,如果replia无效就查询其他的shard。(5)_local:尽可能在本地执行查询,不跨网络(6)_prefer_nodes:abc,xyz 在指定的节点id上执行查询(7)_shards:2,3  查询指定分片上的数据,此外这种写法还可以和前面的用法组合,如:_shards:2,3|_primary ,查询分片2和3且在主节点上的数据(8)_only_nodes :限制在特定的node上执行操作(9)Custom (string) value :使用自定义的值来保证同一个值的数据,在一个shard里面,感觉有点像routing字段的功能,暂时没太理解如何使用这个功能,因为官网给的例子,只有查询,在索引的时候没有看到设置preference的功能:GET /_search?preference=xyzabc123
{"query": {"match": {"title": "elasticsearch"}}
}

大多数时候是不需要刻意使用Preference功能的,除非在一些特殊情况下,如shard不可读,shard失败,shard未分配情况,或者某些节点挂了,我们可以指定读取正常shard的数据,虽然不完整,但也比整个服务不可用体验要好。

【Elasticsearch】ElasticSearch里面的偏好查询相关推荐

  1. elasticsearch根据某个字段来查询,以及通过时间筛选

    elasticsearch根据某个字段来查询,以及通过时间筛选 String startTime = "2021-06-01"; String endTime = "20 ...

  2. 【Elasticsearch】Elasticsearch的IndexSorting:一种查询性能优化利器

    1.概述 转载:Elasticsearch的IndexSorting:一种查询性能优化利器 前言 前两周写过一篇<基于Lucene查询原理分析Elasticsearch的性能>,在最后留了 ...

  3. java查询oracle数据库_Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询...

    本文主要向大家介绍了Oracle数据库之java 从Oracle数据库到处数据到Elasticsearch全文检索库进行全文查询,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. ...

  4. ElasticSearch 6.3版本(ES)查询人名关键字不拆词查询

    ElasticSearch 6.3版本(ES)查询关键字不拆词查询:类似mysql 的 like 语句. mysql的sql语法类似如下,采用大量like和locate语法,进行模糊查询,导致查询一个 ...

  5. 使用ElasticSearch完成百万级数据查询附近的人功能

    上一篇文章介绍了ElasticSearch使用Repository和ElasticSearchTemplate完成构建复杂查询条件,简单介绍了ElasticSearch使用地理位置的功能. 这一篇我们 ...

  6. Elasticsearch的suggest联想提示查询实现

    Elasticsearch的suggest联想提示查询实现 思路 先将关键字在completions 自动补全索引库中查询,获取建议的补全信息 如没有获取到补全信息,可能表示用户输入的关键词有拼写错误 ...

  7. [Elasticsearch] Elasticsearch权威指南翻译目录

    为了方便大家能够更加快速地找到自己需要参考的那部分,对已经翻译完成的部分根据权威指南的目录做了相应目录,希望能够有所帮助. 起步(Getting Started) 1. 你懂的,为了搜索 英文原文链接 ...

  8. elasticsearch的多索引联合查询以及范围日期查询示例

    一.前言 首先,博主这边要用ES来代替传统的mysql操作,那么原来的多表联合查询操作自然也要转换为多索引联合查找.这里使用elasticsearch-php库来操作ES,原生的ES也是大同小异的. ...

  9. html显示elasticsearch,ElasticSearch查询:高亮显示(10)

    什么是高亮显示 根据关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮百度搜索关键字"elasticsearch" 京东商城搜索"iphone xs max ...

最新文章

  1. 前端javascript实现二进制读写操作
  2. eclipse中java文件报错:The type java.lang.Object cannot be resolved. It is indirectly referenced from r
  3. mysql 排名_SQL语句mysql排名、分组后组内排名、取各组的前几名
  4. 关于在Servlet的路径问题
  5. CoreJava Reading Note(3:Fundamental structure)
  6. TouchId iOS简明教程
  7. GB28181协议--GB28181协议简介
  8. 我所了解的GB2312、Unicode、GBK、UTF-8、BIG5等编码
  9. JVM垃圾回收机制【简单介绍】
  10. 吉他入门:吉他音阶训练入门教程(三)
  11. 【Rust日报】2022-07-06 Android 平台中的 Rust
  12. 符冉迪 计算机 培训,一种卫星云图的二次聚类分割方法专利_专利申请于2012-11-30_专利查询 - 天眼查...
  13. android水波纹教程,Android实现简单水波纹效果
  14. android Acitvity action,flag和category各个参数的说明 .
  15. MJLQ2CH A java开发_新MacBook Pro的原彩显示技术是如何实现的?
  16. 微信小程序开发笔记(二)
  17. CVX约束中需要使用一些中间变量该怎么办
  18. 第十四届蓝桥杯集训——for——判断质数/素数
  19. MW6208U盘量产问题
  20. 神奇宝贝java_我的世界下载 1.25神奇宝贝整合包_单机游戏下载

热门文章

  1. 高途发布2020年经德勤审计年报 CFO:16次做空已成谣言
  2. 要和解?盒马集市已入驻微信小程序
  3. 上市4年,现在苹果要停产它了
  4. 快手发售价定为每股115港元 募资净额412亿港元
  5. 美团互助关停:聚焦主业发展 将全额返还会员分摊
  6. 花呗下调部分年轻用户额度,倡导理性消费,网友:是嫌我穷了吗?
  7. Facebook入局视频会议,日活用户超3亿的Zoom股价应声下跌,Zoom为何不扛打?
  8. 二月1500-1999元性价比排行榜:前三都是魅族手机
  9. 苹果A13打得过麒麟990吗?看完秒懂
  10. 屏下摄像头?疑似小米MIX 4全屏钢化膜曝光