搜索引擎
文章平均质量分 94
小新杂谈社
积极乐观,不畏困难,敢于拼搏,能快速适应环境!
展开
-
ES 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?
举个例子吧,假如你每页是 10 条数据,你现在要查询第 100 页,实际上是会把每个 shard 上存储的前 1000 条数据都查到一个协调节点上,如果你有个 5 个 shard,那么就有 5000 条数据,接着协调节点对这 5000 条数据进行一些合并、处理,再获取到最终第 100 页的 10 条数据。里面了,就可以确保热数据的访问性能是很高的。举个例子,拿微博来说,你可以把一些大 V,平时看的人很多的数据,你自己提前后台搞个系统,每隔一会儿,自己的后台系统去搜索一下热数据,刷到。原创 2024-05-24 11:34:52 · 745 阅读 · 0 评论 -
ES 写入数据的工作原理是什么啊?
每隔 5s,将数据写入 translog 文件(这样如果机器宕机,内存数据全没,最多会有 5s 的数据丢失),translog 大到一定程度,或者默认每隔 30mins,会触发 commit 操作,将缓冲区的数据都 flush 到 segment file 磁盘文件中。translog 其实也是先写入 os cache 的,默认每隔 5 秒刷一次到磁盘中去,所以默认情况下,可能有 5 秒的数据会仅仅停留在 buffer 或者 translog 文件的 os cache 中,如果此时机器挂了,会。原创 2024-05-24 11:25:20 · 514 阅读 · 0 评论 -
ES 的分布式架构原理能说一下么(ES 是如何实现分布式的啊)?
有些订单是虚拟商品的订单,比如游戏点卡,话费充值。实际上你往 index 里的一个 type 里面写的一条数据,叫做一条 document,一条 document 就代表了 mysql 中某个表里的一行,每个 document 有多个 field,每个 field 就代表了这个 document 中的一个字段的值。,比如你数据量是 3T,3 个 shard,每个 shard 就 1T 的数据,若现在数据量增加到 4T,怎么扩展,很简单,重新建一个有 4 个 shard 的索引,将数据导进去;原创 2024-05-24 11:22:07 · 619 阅读 · 0 评论