文章分类 - lucene
摘要:knn 插件原理 利用 Lucene的 Codec 扩展机制。Codec 可以理解为 Lucene 索引文件格式的一种协议,用户只要实现对应的写入/读取的业务流程,即可自定义正排、倒排、StoreFields 等不同索引的具体实现。包装扩展了Lucene 的 Latest Codec,当向量数据写入
阅读全文
摘要:getway模块用于集群元数据的存储以及重启时元数据的恢复,大致流程是 1、当master选举出来判断当前集群状态中元数据是否恢复,如果恢复的话跳过getway 否则的话 2、maste从个节点拉取元数据 3、判断各个节点的元数据中版本号最高的元数据最为最新元数据 (包括集群 和 索引) 4、确定之
阅读全文
摘要:Sequence Number 每次进行索引操作seqNum自增,主要用于恢复时选择需要恢复哪部分数据 Primary Term 每次主分片易主这个数会增加,主要目的是防止一个陈旧的主分片重新加入进来时进行脏数据的操作,如当一个主分片暂时 离开集群,离开前刚好在进行数据的操作,此时已经选择了新主分片
阅读全文
摘要:Es 恢复流程大体上分为 init index verify_index translog finalize done 6个阶段 恢复流程包括多个模块 getway: 读取集群 索引 元信息 然后更新 之后调用reroute allocation: 调用reroute后执行分片服务,分完片后更新集群
阅读全文
摘要:Es 的search流程 1、协调节点接收到search请求后封装查询request 2、从clusterMata中获取索引有多少分片 设置相关参数,循环发送到分片所在的节点 3、分片接收到meaasge后判断是否要走cache 4、不需要走cache的话交交给lucene去查,查询完滞后判断是否要
阅读全文
摘要:Lucene中有两种分页查询方式 1、一次查询出大量数据,然后根据页码定位是哪个文档,其实就是暴力获取了 2、通过调用searchAfter来实现 我们都知道collect是lucene中对搜索到的文档进行收集和排序过程,searchAfter也是通过一个收集器来控制的,叫PagingTopScor
阅读全文