ElasticSearch相关

北战南征 提交于 2019-12-16 19:30:19

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Elastic Search的结构概念:集群,节点,分片,备份。 关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns) Elasticsearch ⇒ 索引 ⇒ 类型 ⇒ 文档 ⇒ 字段(Fields) 1.Elastic Search 所有的 filed都加索引,倒排索引。 FST 以字节方式存储所有的term, 这种压缩方式可以有效的缩减存储空间,使得term index 足以放进内存,但是这种方式也会导致查找的时候需要更多地CPU资源。 post list的压缩技巧:bitmap为基础,使用Roaring bitmaps进行进一步压缩,将posting list按照65535为界限分块,比如第一块所包含的文档id范围在0~65535之间,第二块的id范围是65536~131071,以此类推。再用<商,余数>的组合表示每一组id,这样每组里的id范围都在0~65535内了,剩下的就好办了,既然每组id不会变得无限大,那么我们就可以通过最有效的方式对这里的id存储。 2.联合索引 使用跳表的数据结构快速做“与”运算,或者利用bitmap按位进行“与”

3.Elastic Search检索这么快: 1.索引,2.压缩机制【bitmap -> Roaring Bitmap】,3.将磁盘中的东西尽量搬到内存,减少磁盘随机读取次数(同时利用磁盘顺序读特性)。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!