栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch学习5

ElasticSearch学习5

删除

删除操作,commit的时候会生成一个.del文件,里面将某个doc标识为deleted状态,在搜索的时候根据.del文件可判断该doc已被删除。
merge的时候,会看一下如果某条数据被标识.del,则删除,新的segment file 就没有了。


更新

更新操作-doc全量替换,就是将原来的doc标识为deleted状态,然后新写入一条数据。


查询
    搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch;在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。每个分片在本地执行搜索并构建一个匹配文档的大小为 from + size 的优先队列。
    备注:在搜索的时候是会查询 Filesystem Cache 的,但是有部分数据还在 MemoryBuffer,所以搜索是近实时的。每个分片返回各自优先队列中 所有文档的 ID 和排序值 给协调节点,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。接下来就是 取回阶段,协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。每个分片加载并 丰富 文档,如果有需要的话,接着返回文档给协调节点。一旦所有的文档都被取回了,协调节点返回结果给客户端。
    补充:Query Then Fetch 的搜索类型在文档相关性打分的时候参考的是本分片的数据,这样在文档数量较少的时候可能不够准确,DFS Query Then Fetch 增加了一个预查询的处理,询问 Term 和 document frequency,这个评分更准确,但是性能会变差。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/700037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号