话题中间件与数据库 › Elasticsearch

中间件与数据库:Elasticsearch

Elasticsearch 8.X 聚合查询下的精度问题及其解决方案

在Elasticsearch中,数据精度问题主要出现在聚合(aggregation)操作中。比如我们在做一些大数运算时,如求和(sum)、求平均值(avg),可能会遇到数据类型(double或long)导致的精度问题。这是因为Elasticsearch在进行聚合操作时,为了提高性能和效率,会使用一种叫做“浮点数计算”的方式来做大数运算,而这种计算方式在处理大数时往往会丢失一些精度。

ElasticSearch - 批量更新bulk死锁问题排查

在ES中经常会使用BulkProcessor来进行批量处理,然后异步提交update请求,并设置固定的时间间隔来提交批量update请求。同时为了保证异步提交请求的可靠性,还会设置重试策略,但是没想到这个异常重试发生了死锁问题。

Elasticsearch 如何把评分限定在0到1之间?

在 Elasticsearch 中,评分(或打分)通常在查询过程中进行,以判断文档的相关性。

默认的打分机制使用的是 BM25,但你也可以通过自定义的打分查询(function_score)来自定义评分机制。然而,如果你想要将评分范围限定在0到1之间,你可能需要在查询中使用脚本来实现。

Elasticsearch 的评分主要关注的是相关性排序,而不是确切的评分值,因此如果你想要让 Elasticsearch 的评分等比例地映射到0和1之间,你需要使用一些形式的归一化或缩放方法。但这并不是 Elasticsearch 内置的功能,你需要自己来实现。

Elasticsearch核心应用场景-日志优化实践

日志领域是Elasticsearch(ES)最重要也是规模最大的应用场景之一。这得益于 ES 有高性能倒排索引、灵活的 schema、易用的分布式架构,支持高吞吐写入、高性能查询,同时有强大的数据治理生态、端到端的完整解决方案。但原生 ES 在高吞吐写入、低成本存储、高性能查询等方面还有非常大的优化空间,本文重点剖析腾讯云大数据 ES 团队在这三个方面的内核增强优化。

Qunar万亿级Elasticsearch集群节点迁移实战

如何高效稳定完成万亿级ES集群节点迁移?本文带你体验一次Qunar的ES迁移之旅。

Elasticsearch 8.X 性能优化实战

本文提供了关于 Elasticsearch 部署最佳实践的建议。其中包括使用索引生命周期管理(ILM)和快照生命周期管理(SLM)自动化索引和快照的管理和维护,从而提高查询性能,降低存储成本,增强可扩展性。此外,文章还介绍了监控 Elasticsearch 集群性能的指标,包括集群健康状况、搜索和索引性能等。最后,作者强调了充分利用 Elasticsearch 需要计划、优化和监控部署,建议参考官方文档和性能测试结论,并根据实际情况做出优化调整。

Elasticsearch 整合机器学习强化排序

本文介绍如何将机器学习预测能力迁移至es内部,增强排序能力, 构建一个高性能、分布式搜排一体系统,并通过落地更多复杂模型特征和更深的计算,为业务带来新的增长点。

Elasticsearch 8.X 如何基于用户指定 ID 顺序召回数据?

Elasticsearch 8.X 如何基于用户指定 ID 顺序召回数据?

Elasticsearch Neural Search Tutorial

In this blog post, we show in practice how you can use Elasticsearch to run a full end-to-end vector search.

Elasticsearch 8.X Rollup 功能详解及避坑指南

本文将详细介绍 Elasticsearch Rollup 功能,包括其产生背景、应用场景、应用实例以及实战中的注意事项。通过本文,你将对 Elasticsearch Rollup 功能有一个全面的了解,从而提高你的数据处理能力。

基于Kafka和Elasticsearch构建实时站内搜索功能的实践

目前我们在构建一个多租户多产品类网站,为了让用户更好的找到他们所需要的产品,我们需要构建站内搜索功能,并且它应该是实时更新的。本文将会讨论构建这一功能的核心基础设施,以及支持此搜索能力的技术栈。

Elasticsearch Indexing Strategy in Asset Management Platform (AMP)

At Netflix, all of our digital media assets (images, videos, text, etc.) are stored in secure storage layers. We built an asset management platform (AMP), codenamed Amsterdam, in order to easily organize and manage the metadata, schema, relations and permissions of these assets. It is also responsible for asset discovery, validation, sharing, and for triggering workflows.

Amsterdam service utilizes various solutions such as Cassandra, Kafka, Zookeeper, EvCache etc. In this blog, we will be focusing on how we utilize Elasticsearch for indexing and search the assets.

Elasticsearch 慢查询自动化巡检实践

本文主要介绍了 ES 慢查询自动化巡检治理的具体内容和基础逻辑,并对巡检中的判断规则进行解读和相应的解决建议。

Elasticsearch 8.X 如何优雅的实现字段名称批量修改?

字段别名 field-alias 区别于索引别名 alias。

索引别名大家都比较熟悉,字段别名听到的多,但是实际用的不见得有那么多。

如何高效实现 MySQL 与 elasticsearch 的数据同步

由于传统的 mysql 数据库并不擅长海量数据的检索,当数据量到达一定规模时(估算单表两千万左右),查询和插入的耗时会明显增加。同样,当需要对这些数据进行模糊查询或是数据分析时,MySQL作为事务型关系数据库很难提供良好的性能支持。使用适合的数据库来实现模糊查询是解决这个问题的关键。

但是,切换数据库会迎来两个问题,一是已有的服务对现在的 MySQL 重度依赖,二是 MySQL 的事务能力和软件生态仍然不可替代,直接迁移数据库的成本过大。我们综合考虑了下,决定同时使用多个数据库的方案,不同的数据库应用于不同的使用场景。而在支持模糊查询功能的数据库中,elasticsearch 自然是首选的查询数据库。这样后续对业务需求的切换也会非常灵活。

那具体该如何实现呢?在又拍云以往的项目中,也有遇到相似的问题。之前采用的方法是在业务中编写代码,然后同步到 elasticsearch 中。具体是这样实施的:每个系统编写特定的代码,修改 MySQL 数据库后,再将更新的数据直接推送到需要同步的数据库中,或推送到队列由消费程序来写入到数据库中。

但这个方案有一些明显的缺点:

  • 系统高耦合,侵入式代码,使得业务逻辑复杂度增加
  • 方案不通用,每一套同步都需要额外定制,不仅增加业务处理时间,还会提升软件复复杂度
  • 工作量和复杂度增加

在业务中编写同步方案,虽然在项目早期比较方便,但随着数据量和系统的发展壮大,往往最后会成为业务的大痛点。

ElasticSearch 文档分值 score 计算&聚合搜索案例分析

伴随整个政采云搜索业务的发展,商品总量也从千万级别快速膨胀到亿级别,伴随商品量的增长,带来的是索引体积的快速膨胀,进而导致ES 集群面临越来越严重的 io 读取瓶颈。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.3. UTC+08:00, 2024-11-25 04:47
浙ICP备14020137号-1 $Map of visitor$