Es整合
ES为什么查询会快?(ElasticSearch为什么快?)(网易,百度)page 1
倒排索引。通过关键词查找文档id,这种方式适合全文搜索。
分布式架构。es是一个分布式系统,数据分散到多个节点上,查询请求可以并行在多个节点上执行,然后将结果汇总返回。
高效存储和压缩。使用Lucene列式存储和压缩算法,减少了磁盘IO加快了查询响应时间。
近实时搜索。es在数据写入后几乎立即可以被查询到,通过内存索引和磁盘索引结合实现的。
查询优化器。es内置强大的查询优化器,自动选择最优的查询计划。
ES如果不想要延时,怎么做到?(ElasticSearch如果不想要延时,怎么做到?)(网易)page 1
优化索引结构。避免不必要字段和复杂的嵌套结构。合理设置分片,避免过多分片导致查询效率下降。建议使用扁平化结构。
过滤器。对于必须要计算分数的查询,使用过滤器Filter可以提高查询速度。
避免深度分页。避免用from和size进行分页,建议使用scroll或search after进行分页。
利用ElasticSearch的缓存。如请求缓存和字段数据缓存。
es倒排索引原理?(ElasticSearch倒排索引原理)(阿里,百度)page 1
文档和词的映射:倒排索引将文档中的每个词term映射到包含词的文档列表。
词的存储和排序:倒排索引中,词是按照字母顺序存储的,查找词时可以用二分查找,提高了查询效率。
存储优化。差值编码。文档id在倒排列表中是有序排列,只存储相邻文档差值,可以用更少位数表示较小整数,压缩数据量。分块存储,将差值数组分割成较小的块,针对块用合适的位宽存储。
词典压缩。为快速定位词,词典用前缀树或有限状态转换器存储词。
文档列表存储:以压缩形式存储,减少存储空间,文档列表不仅包含文档id,可能包含词在文档中的位置信息,支持短语查询。