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

你可能感兴趣的:(elasticsearch文章收集与心得记录)