中间件与数据库:Elasticsearch
深入解析 Elasticsearch IK 分词器:ik_smart 和 ik_max_word 的区别与应用场景
破解 IK 分词器的秘密:如何选择 ik_smart 和 ik_max_word 模式?
Elasticsearch 自动插入东八区默认时间实现
在 Elasticsearch 中,虽然没有直接设置字段默认值的机制,但可以通过其他方式实现类似的功能。
Elasticsearch ILM 热节点迁移至冷节点 IO 打满、影响读写解决方案探讨
ILM(索引生命周期管理) 遇到热数据迁移至冷节点时造成 IO 打满影响读写的情况。
Elasticsearch 企业级实战 01:Painless 脚本如何调试?
在企业级应用中,Elasticsearch 常常被用来处理复杂的数据查询和操作。
深入解析 Elasticsearch 8.X 索引模板:从传统到可组合模板的全面指南
在 Elasticsearch 中,索引模板用于定义索引的创建预设,包括映射、设置和别名等。
Elasticsearch 提供了两种类型的索引模板:传统模板(Legacy templates)和可组合模板(Composable templates)。
了解这两种模板的使用及其互动方式,对于有效管理索引至关重要。
Elasticsearch 数组全量实战操作指南
在 Elasticsearch 中处理复杂数据类型如数组时,提供了极高的灵活性,但同时也带来了一定的复杂性,尤其在使用脚本进行高级查询和数据操作时。
本文旨在通过一系列实战案例,展示如何有效地在 Elasticsearch 中使用脚本来处理数组类型的字段。
Elasticsearch8实践: 新功能和特性解析
技术研发中心平台架构团队关于Elasticsearch 8.x功能与特性的分享。介绍了ES8.x在性能提升、成本降低及新增特性方面的优势;同时为降本增效,中间件搜索团队升级了二向箔搜索引擎服务平台以支持ES8.x的使用。
Elasticsearch 8.x 存储有无压缩?能压缩到多少?
文章主要介绍了Elasticsearch的压缩功能以及压缩算法。默认情况下,Elasticsearch使用LZ4压缩算法进行数据压缩,但也可以选择best_compression算法以获得更高的压缩比。文章通过实验证明,LZ4算法可以将存储空间压缩到一半,而best_compression算法可以将存储空间压缩到原始空间的35%。对于对压缩比要求较高的情况,推荐使用best_compression算法。同时,通过优化建模参数等方式可以进一步提高压缩效果。
Elasticsearch 使用误区之二——频繁更新文档
这篇文章介绍了在使用Elasticsearch时频繁更新文档的挑战和步骤,并提供了一些性能优化建议。文章指出,更新操作涉及重新索引,而不是简单的原地修改,这会增加磁盘I/O和计算资源的使用。同时,标记为删除的文档在段合并前仍然占用空间,增加了存储负担。文章中的截图进一步解释了为什么随着更新文档的次数增加,存储占据磁盘空间也会增加,以及为什么删除文档后存储占据磁盘的空间也会增加。段合并之后,磁盘空间会骤降。
为了优化性能,文章提出了两个建议。首先,对于用户行为数据(如浏览次数、点赞数),可以合并多次更新为一次批量更新。建议设置一个合理的批量更新间隔,比如每隔5分钟更新一次,而不是每次用户操作后立即更新。其次,在电商平台中,对商品信息进行批量更新。可以使用 bulk API一次性更新多个文档,减少单次请求的开销。
此外,对于不需要实时可见性的索引,建议增加刷新间隔,比如设置为30秒或60秒。可以通过设置refresh_interval来实现。
拥抱 Elasticsearch:给 TiDB 插上全文检索的翅膀
知乎的孙晓光老师在TiDB Hackathon 2019中获奖作品TiSearch的介绍。全文检索是搜索引擎的基本能力,但当前TiDB还无法实现全文检索需求。为了解决这个问题,孙晓光团队采用整合Elasticsearch的方式扩展TiDB的全文检索能力。他们在短短一天的Hackathon时间内成功实现了这一功能。这项功能可以帮助用户更准确、快速地搜索到想要的内容。
ES使用edge n-gram实现高效前缀搜索
本文介绍了使用基于"edge n-gram"的分词策略对Elasticsearch进行优化的案例。作者通过生成以用户输入词语开头的n-gram索引,实现了优化的自动完成体验和提高的搜索相关性。这种优化策略适用于多语言,能降低不必要的匹配,提高搜索精度。通过应用edge_ngram
分词器,将单词分解为以单词开头的一组子字符串,通过这种方法进行前缀搜索,能快速响应用户输入并提供相关建议。这种方法易于配置,可以根据需求调整n-grams的大小。
Failing to Auto Scale Elasticsearch in Kubernetes
A story of operational failure in large scale Elastisearch installation including the root cause analysis and mitigations that followed.
Elasticsearch 的基数统计在大数据量下有什么办法能做到 100% 准确度吗?
一个线上问题引发的思考和反复验证 \x26gt;\x26gt;
极限网关助力好未来Elasticsearch容器化升级
极限网关助力好未来Elasticsearch容器化升级
Elasticsearch index 设置 false,为什么还可以被检索到?
列式存储是一种存储数据的方式,它可以提高对特定字段的聚合和排序操作的效率。相比行式存储,列式存储只需要读取相关列的数据,而不需要加载整个文档的所有字段。这种存储方式在处理大量数据时更加高效。然而,对于未被索引的字段,查询效率较低,因为需要遍历整个列的数据来匹配查询条件。因此,在使用列式存储时,需要合理使用索引和doc_values设置来提升查询性能和效率。
Elasticsearch 在滴滴的应用与实践
目前,我们的 ES 引擎已在滴滴内部统一应用于所有在线检索场景,并在稳定性方面成为大数据架构部的标杆。