ES实战快速学习

本文介绍了Elasticsearch的索引、搜索过程及查询语法,包括索引流程、搜索流程、查询过滤器、基础概念如字段类型、集群行为、打分机制和文档删除。此外,还探讨了ES集群的节点启动、选主机制和详细索引文档流程。文中提出了一些关于请求流程、元数据存储、主节点作用和Lucene Token payload的问题。
摘要由CSDN通过智能技术生成

大概两天的时间快速浏览下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有什么用?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值