业界使用 ES 的一些工程实践
欢迎读者在评论区共享读过的 ES(ElasticSearch)工程实践的文章
性能优化
美团外卖LBS场景下,采用 LongObjectHashMap hash 查询方式优化了倒排链的查询、采用 RLE 编码将 posting list 极致压缩,优化了倒排链的合并。
滴滴日志ES集群采用新的索引文件压缩算法 ZSTD,提升 ES 索引的 indexing(写入)性能。
腾讯云 Elasticsearch 新篇章 - 存算分离+读写分离+查询/IO并行化
腾讯云ES,提到了优化 ES 的段查询方式(query then fetch),将串行查询改成并行查询。
目前我们只在query阶段做了并行化,未来会在fetch阶段比较重的查询场景将fetch并行化,进一步提升查询的性能
腾讯万亿级 Elasticsearch 内存效率提升技术解密
讲了堆内存到堆外内存的优化。对 FST 的作用讲解得比较详细,并提出了堆外内存的优化思路。
实践,有示例。其实也可以看 ES 的官方查询调优文档(ES search tuning guide)
高可用
通过跨集群复制,将数据从一个 ES 集群复制到另一个 ES 集群,确保集群服务的高可用。
文中提到ES所在节点的CPU出现了抖动,其原因是:OS 在 swaping page。文中还提到 mmp 方式很难在堆内被JVM GC 回收,可采用 NIO 方式读取加载到 page cache 内,由 kernel 而不是 user space 维护这部分内存从而能确保机器内存的高效利用。
ES 向量检索
百度ES的向量检索实现,通过自研 ES 插件,通过 JNI 调用 增强 ES 的向量检索能力。
Elasticsearch向量检索的演进与变革:从基础到应用
其它搜索优化/解决方案
搜索业务实践
ES 应用整体总结,还给了一些参考链接。