elasticsearch文章收集与心得记录

为了更好地理解与排版,部分文章标题可能会有修改

降序记录

  • eBay Elasticsearch 性能优化实战-中文篇
  • number?keyword?傻傻分不清楚
    ---- 数值类型(number)的数据结构变成Block k-d tree
    ---- query/filter执行顺序不是按照写入顺序,而是内部根据cost()估算每个查询的代价,选择代价最低的query/filter开始,在其圈定的docid集合上生成一个迭代器
    ---- indexOrDocValuesQueryrangeQuery的优化
    ------ Rang查询的数据集大小,以及要做的合并操作类型,决定用哪种Query。 如果Range的代价小,可以用来引领合并过程,就走PointRangeQuery,直接构造bitset来进行迭代
    ------ 如果range的代价高,构造bitset太慢,就使用SortedSetDocValuesRangeQuery,利用DocValues的全局docID序,并包含每个docid对应value的数据结构来做文档的匹配
  • elasticsearch 集群启动流程
    ---- node级别
    ------ 主节点选举,节点数>=N/2+1,max节点ID
    ------ 集群元信息选举,主节点先收集,merge之后再将metadata下发到各节点
    ---- shard级别
    ------ 主分片选举,master汇总所有节点的shard信息后,选取一个main shard
    ------ 副分片分配,master从汇总shard信息中选取一个
    ------ 主分片recovery,disk segment && replay translog
    ------ 副分片recovery,copy from main shard && translog && 分片完整性和版本数据一致性
  • Bulk异常引发的Elasticsearch内存泄漏
    ---- jvm,heap dump内存分析,Eclipse MAT,Log4j
  • 一例Query Cache引起的性能问题分析
    ---- node query cache分析过程 访问倒排->heap开始缓存bitmap->hit cached bitmap
    ---- term filter足够快,es去掉了term的cache
    ---- range filter,如果精确到秒级别,那么hit bitmap每秒都在变,hit cached一直被LRU,所以可以降低range的精度,比如精确到小时级别
  • 使用es做搜索,真假柠檬排序之争
    ---- 有时候问题在大规模数据下不能正常运行,这回反过来在小数据集上有问题,让自己意识到这个relevance score问题,从而促使自己记录了一个关于排序分的文章
  • 谈谈ES的Recovery
    ---- shard级别,es node重启、更新,synced flush ID,replay transLog
  • 记一次es性能调优
    ---- gc, index filter cache, refresh_interval
  • 关于es缓存
    ---- node query cache,
    ---- shard request cache
    ---- fielddata cache
    ---- system cache
    ---- global ordinals
  • Elasticsearch JVM Heap Size大于32G,有什么影响?
    ---- es heap Zero Based Compressed OOPS
  • ES内存那点事
    ---- lucence倒排生成过程 es heap->disk->system cache
    ---- segment memory(倒排索引之上的又一层索引)
    ---- es缓存
    ---- 超大规模集群的状态信息
    ---- 大聚合的结果集query-fetch
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容