elasticsearch相同查询条件每次返回结果不一样

这篇具有很好参考价值的文章主要介绍了elasticsearch相同查询条件每次返回结果不一样。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现象:

今天web开发人员反馈,在腾讯云对某一个客户的某表数据执行相同的查询结果,有时候不返回数据;

我们是按周区分索引的,数据量不大,去掉时间条件执行查询发现会交替出现  命中21980和命中的8999结果;

解决:

1.首先简单查询其他的表或者其他的集群有没有类似的问题,排除大环境问题;

2.查看今天的日志并没有发现报错;不过发现了一些WARN 日志,大概的意思主副本数据同步告警,如下:

[2023-05-04T07:17:16,497][WARN ][o.e.i.f.SyncedFlushService] [chates02] [indexName_2023-05-01][4] can't to issue sync id [dGHQ0df6Tw6cLThlfwRFMg] for out of sync replica [[indexName_2023-05-01][4], node[qg1VO946RB2JJZZneBn8ZA], [R], s[STARTED], a[id=ePOFKvq8S7K83nWlAQRG4Q]] with num docs [8077]; num docs on primary [19131]

3.执行命令查询主副本主片和副本的doc数发现个别主片和副本的doc数不一致,命令如下

http://esIp:9200/_cat/shards/indexName_2023-05-01

因为es查询每次是随机选择主片和副本的数据返回,所以会出现每次查询结果不一样的问题;

当查询到这里其实已经可以通过重建副本解决当前问题现象。

4. 为什么会出现这个问题?为什么只有本周的索引有问题,以前的索引验证了没有此问题?以后万一在重要的es集群再出现类似的问题,损失就太大了。

es写数据的流程是先写主片然后主片同步给副本,主片和副本是分布在不同的节点;隐隐约约猜测主副数据不一致 可能是脑裂或者节点间的通讯有异常。

5.继续排查前几天的日志,发现有一个WARN 日志,节点之间的通信超过30s,

对应的 配置为discovery.zen.ping_timeout: 30s,这个配置已经给的很长了,没必要再设置;

[2023-05-02T14:29:53,355][WARN ][o.e.d.z.UnicastZenPing   ] [chates02] failed to send ping to [{chates01}{qg1VO946RB2JJZZneBn8ZA}{XBBKiDAMS_2vj-c57D0HzQ}{esIp}{esIp:9300}{ml.machine_memory=33566519296, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}]
org.elasticsearch.transport.ReceiveTimeoutTransportException: [chates01][esIp:9300][internal:discovery/zen/unicast]
 

6. 继续查看配置 discovery.zen.minimum_master_nodes:1 

这是master选举的规则,我们这个集群是局部业务的小集群,数据量很少,只有两个节点;由此可以推断是 节点间通信断开,而又符合 master选举机制>=1,导致集群脑裂;

7. 优化:通知运维增加到奇数个节点数,master 选举规则设置为 (节点数/2)+1 ,由此该问题现象解决。

8.导致节点通信断开的原因是什么?这个集群的数据量非常小,负载很低;猜测 有可能是当时内存占满了影响通信或者是云厂商的网络有问题

查看当时的内存占用,并没有占满,这个以后再说吧

es两次查询结果不一致,elasticSearch,elasticsearch,大数据,搜索引擎文章来源地址https://www.toymoban.com/news/detail-818870.html

到了这里,关于elasticsearch相同查询条件每次返回结果不一样的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GaussDB(DWS)条件表达式函数返回错误结果集排查

    摘要: 条件表达式函数中出现结果集不一致问题,我们首先要考虑是否入参数据类型不一致导致出参不一致。 本文分享自华为云社区《GaussDB(DWS)条件表达式函数返回错误结果集排查》,作者:yd_211369925 。 客户使用greatest获取并返回参数列表中值最大的表达式的值,子查询中

    2024年02月06日
    浏览(31)
  • mysql查询结果返回e9

    在使用 MySQL 数据库时,我们经常会进行查询操作。然而,有时候我们会发现,查询结果返回的数值中会有一个奇怪的字符“e9”,这个字符代表的是科学计数法中的10的9次方,也就是十亿。那么,为什么会出现这个字符,该如何解决呢?下面我们一起来探讨。 解决方法有两种

    2024年02月15日
    浏览(28)
  • ES常见问题(1)-解决ElasticSearch每次只能返回10条数据

    使用ElasticSearch查询分页数据 有时候,我们需要使用ElasticSearch来分词查询,并分页返回指定的数据条数,但是当我们每次想得到分页数据条数超过十条的时候,ElasticSearch总是只能返回十条 因为ElasticSearch为了查询的速度,在默认的情况下已经设置了分页数据只能返回10条,所

    2024年02月11日
    浏览(29)
  • mybatis查询多个结果返回map--@MapKey使用方法

    目录         介绍  源码分析: 在使用mybatis的时候遇到一种情况,查询结果集返回多个,想用map接收,以前是用List对象接收,然后java代码中转换成map。其实mybatis是支持返回map的。下面就介绍使用方法。 测试代码: 下面@MapKey中的id是BusinessPricePO中的一个属性id,否则会报错

    2024年02月12日
    浏览(27)
  • elasticsearch使用template搜索多个索引并且高亮返回结果

    由于搜索多个索引没办法以定义好的Entity来接收quey的结果,所以keyword搜索时不能按照以前的方式来直接分页搜索 所以这里选择重写搜索方法来自定义map返回结果,实现手动分页和替换高亮搜索的结果

    2024年02月11日
    浏览(30)
  • es elasticsearch 十四 各种机制 评分机制 正序索引 解决跳跃结果问题 解决耗时过长问题 解决相同属性值都到一个地方

    目录 评分机制 机制 查看评分实现如何算出来的explain=true 分析能否被搜索到 Doc value 正排序索引 Query phase Fetch phase Preference 问题 解决跳跃结果问题 Timeout 到达时间直接返回,解决耗时过长问题 Routing 数据准确分配到某地,解决相同属性值都到一个地方 评分机制 机制 TF分词频

    2024年02月08日
    浏览(65)
  • 关于Elasticsearch(es)中使用sql返回结果只有1000条

    es中返回的结果只有1000条,这是默认的,想要返回更多的结果,需要做两步: 1、设置max_result_window的大小 PUT indexName/_settings { “max_result_window”:20000 } max_result_window表示结果的最大数量 但是你这样设置完了之后,查询依旧还是1000条 2、查询的时候加上fetch_size 这表示页面上显

    2024年02月14日
    浏览(30)
  • Elasticsearch查询结果高亮操作实战

    在进行搜索时,搜索出的内容中的会显示不同的颜色,称之为高亮 百度搜索\\\"狂飙\\\",如下所示: 或者在淘宝搜索“手机”,如下所示: 我们可以发现搜索的在搜索到的信息上都变成了红色高亮 通过开发者工具查看高亮数据的html代码实现: Elastic

    2024年02月12日
    浏览(41)
  • Elasticsearch(八)搜索---搜索辅助功能(上)--指定搜索返回字段,结果计数和分页

    前面我们已经将ES的基础操作(索引,映射,文档)学习过了,从这一章开始,我们便开始学习ES的最大的功能—搜索 ES为用户提供了丰富的搜索功能:既有基本的搜索功能,又有搜索建议功能;既有常用的普通类型的匹配功能,又有基于地理位置的搜索功能;既提供了分页搜

    2024年02月05日
    浏览(39)
  • Elasticsearch 核心技术(九):搜索结果处理(分页、排序、指定返回字段、去重、高亮显示)

    ❤️ 博客主页:水滴技术 🚀 支持水滴: 点赞 👍 + 收藏 ⭐ + 留言 💬 🌸 订阅专栏:大数据核心技术从入门到精通

    2023年04月13日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包