随笔 - 295
文章 - 0
评论 - 16
阅读 -
41万
06 2024 档案
线程池关闭的小结
摘要:在日常使用线程池的过程中,怎样合理地关闭线程池,最小程度地影响业务,shutdown 和 shutdownNow 该如何选择? 1 public void shutdown() { 2 final ReentrantLock mainLock = this.mainLock; 3 mainLock.
阅读全文
Elasticsearch 的事务日志
摘要:translog 是 Elasticsearch 保证数据可靠性和灾难恢复的重要组件,每个索引分片配备一个 translog,对索引数据的增加、更新操作都会记录在 translog 中。 translog 本质上是一个可滚动的日志文件,相比于 lucene 的写入持久化,日志文件的写入是一个相对轻量
阅读全文
Elasticsearch 近实时搜索的底层原理
摘要:我们都知道 Elasticsearch 的搜索是近实时的,数据写入后,立即搜索(不通过 id)文档是搜不到的。这一切的原因要归于 lucene 所提供的 API,因为 lucene 的 API 就是非实时的,Elasticsearch 在 lucene 之上盖房子,通过一些增强,实现了查询的近实时和
阅读全文
Elasticsearch searchAfter 的原理
摘要:翻阅相关文档,说 Elasitcsearch searchAfter 是一个轻量的分页工具,那么它是如何实现的呢,使用时有哪些需要注意? 如下给出了一个 searchAfter 的使用示例,在第一次搜索时,searchAfter 不需要设置,查询结果的最后一个文档排序的字段值,作为下一次查询的 se
阅读全文
讲清楚 Elasticsearch scroll 的底层原理
摘要:Elasticsearch 的 Scroll 主要用于高效地分批检索大量数据记录,适用于那些数据量过大而不能一次性通过标准搜索请求获取所有结果的场景。Scroll 机制的工作原理类似于数据库中的游标(cursor),它允许用户发起一次搜索请求后,通过维护一个持续的上下文(context)来分批次获取
阅读全文