• ES实战快速学习


    大概两天的时间快速浏览下ES实战这本书。这本书适合es初学者,倾向于介绍ES是什么,它有什么用,它如何用。自己写个简单的笔记,记录下。至于源码的学习,这个需要再找时间。

    1、es的索引过程

    Esclient -> 协调节点->找到这个doc所在的主shard,然后进行索引文档,该主分片索引完毕后,同步分片shard,同步完成后,告知客户端索引文档完毕

    2、es的搜索过程

    Esclient -> 协调节点 -> 根据查询的索引名、类型,找到该索引所在的所有分片-> 对于每个分片轮询主副分片->找到该分片所在的节点,然后和这个es节点通信,获取数据->然后在协调节点进行汇总->通过打分机制,返回得分最高的文档。

    3、es的查询语法

    Query  过滤器的用法

    Query string、term、terms、match_all、match查询

    过滤器可以缓存

    4、es的一些基础概念

    主要是自定义字段(内置字段)的含义

    _index

    _type

    _id

    _source: 这个字段如果关闭了,根据term只能查出来这个索引的一些基本信息。

    _all

    _ttl

    _timestamp

    明白了mapping的意思,就是对字段类型的定义

    明白了field可以是不同类型的

    明白了分析阶段的所有流程:

    (1)字符过滤器  比如html一些符号过滤、删除

    (2)分词器分词  ->token。注意token与term的联系和区别

    (3)分词过滤器处理每个分词

    (4)对这些分词简历倒排索引

    明白了可以在创建索引的时候配置分析器

    可以在mapping这里对不同字段进行分析器配置,分词器、分词过滤器、字符过滤器的配置。

    5、es集群

    (1)es节点启动

    es节点启动时,会先发广播请求,其它es节点会去监听。广播请求中包括了集群名字,如果是同一个集群名字,就可以加入。    --》会不会出现冒充请求?

    es节点启动,也可以发送单播请求

    (2)es选主

    es全部节点启动或者超过n/2 +1 个节点启动后,再去选主。   ----》选主的标准?

    (3)es集群重启

              1)选取master节点

              2)选举最新的集群元数据信息

              3)根据最新的元数据信息进行分片分配,由es master节点来确定主分片是什么。

    6、es 打分机制

    TF-IDF打分

    boost是干啥的,一 般是在查询的时候,主动提升该文档的打分。

    7、es 文档的删除

    不是直接删除,是标记删除。

    内部进行段文件合并的时候删除。

    8、es详细索引文档的流程

    esclient -> 该文档对应该索引的主shard->写buffer + translog ->buffer 一秒commit一次生成段文件到os cache(此时数据可以查询),并清空buffer-> translog 大概五秒写一次 文件

    当时间超过30min,触发flush; 

    或者translog 特别大,触发flush,

    flush完成后,清除translog,再创建一个新的translog文件

    几个问题:

    1、es highlevel lowlevel的请求流程? 

    通过netty中配置的handler是如何对请求进行过滤的,认证、加密的?

    2、es 节点的es集群元数据信息、索引信息、以及索引对应分片位于哪个节点,这些元数据信息是怎么保存的?

    hdfs是放在fsimage、editlog中,es保存这些有没有具体的位置?是每个esnode都进行保存了吗?

    3、es是对等结构,那esmaster有什么用?

    4、lucene中 token的payload有什么用?

  • 相关阅读:
    vue项目退出登录清除 store 数据
    工程项目管理系统源码+spring cloud 系统管理+java 系统设置+二次开发
    【C++】:STL——标准模板库介绍 || string类
    两数之和-leetcode
    JUC学习总结
    C语言高级-4栈
    5款冷门但是非常好用的Windows软件推荐
    【从零开始学习 SystemVerilog】3.4、SystemVerilog 控制流—— case( ‘unique‘ 和 ‘priority‘)
    编程中的delete用法:深入探索与实战应用
    漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了
  • 原文地址:https://blog.csdn.net/ycuzrz112280/article/details/127825591