解密Elasticsearch:深入探究这款搜索和分析引擎
原文中文,约5500字,阅读约需13分钟。发表于: 。除了tip,nvd(norms),dvd(doc values), tim(term dictionary),cfs(compound)类型的文件都是由mmp方式加载传输,其余都是nio方式。但是它的参数是无状态的,始终会针对对新版本的搜索器进行解析。es的持久化分为两部分,一部分类似快照,把文件缓存中的segments...
最近使用Elasticsearch实现画像系统,调研了竞品架构选型,重温了redis原理。Elasticsearch的通讯使用netty,内存分为on heap和off heap,不能回收的部分有node query cache、shard request cache、file data cache、segments cache。持久化分为快照和translog日志。应用方面,使用es解决人群预估、人群包圈选和人包判定问题。优化方面,需要优化mapping,使用线程池和适当的拒绝策略,调整refresh policy等。瓶颈方面,可以使用redis或MongoDB存储人包数据。总结来说,Elasticsearch在实时检索方面表现出色,但实时写会降低检索性能。