bilibili-elasticsearch

地址:https://www.bilibili.com/video/BV1hh411D7sb?p=4&spm_id_from=pageDriver

资料:

9300是es的内部的端口,9200是浏览器的访问的端口。

post不是幂等的,put是幂等的。

代码:

-----------------------------------------------------------------------------

 

 ---倒排索引---

1.创建索引(幂等):PUT 192.168.244.133:9200/shopping

put是幂等的你再次发送的话就会有问题的。

 

2.获取索引的信息

3.查看所有的索引:get 192.168.244.133:9200/_cat/indices?v

 3.删除索引:delete 192.168.244.133:9200/shopping

添加数据直接在索引中添加数据就可以了。

 4.添加数据等于添加文档:post 192.168.244.133:9200/shopping/_doc

put的请求必须是幂等的,但是post是幂等的可以不是也可以的。

数据的生成会生成一个唯一的id的。同样的请求多次的操作id是不一样的就是返回的结果是不一样的。

如何生成我们自己的id?注意这个id是文档的id,也就是数据库行的is,指定了id用PUT也可以,因为是幂等的。

 

 ---10---

_doc表示的是文档的数据。

5.  GET 192.168.244.133:9200/shopping/_doc/1001

7.查询索引下面的所有的文件:GET 192.168.244.133:9200/shopping/_search

---11---

8.数据是如何修改的呢?两种修改的方式,局部的修改,完全的覆盖修改后。

数据完全的覆盖就是无论发生多少次请求,数据都会被覆盖,这样的操作是幂等的可以用PUT的。

8-1:PUT  全量数据的更新

8-2:局部数据的更新,这个时候就不能使用PUT因为不是幂等的。

9.删除数据:DELETE  

---12---

核心是查询的

我们再来看下条件查询:

GET 192.168.244.133:9200/shopping/_search?q=category:小米

换一种写法:

 

 分页查询:

 如何指定字段,我只想要title?

 

 ---13---

多条件查询:

 

 must= and

 should = or

加入范围查询:

  

 ---14---

当保存文档的时候,我们es会对文档进行拆解操作,分词,并将分词保存到倒排索引中。

这样及即使使用一部分文字也能查询到数据,这就是全文检索。

小华是可以查询的,因为是被分词了,就是华为能查询,小米也能查询的。

都被分词了查询的被分词了被查询的也被分词了。

 如果我就想完全匹配的话怎么办呢?

 如何像百度一样高亮显示呢?

 ---15---

分组:

 size=0是不要原始数据的意思。

 

 ---16---

分词和不分词是怎么设计的呢?

映射:

1.创建索引

PUT  192.168.244.133:9200/user

2.创建mapping,其中text是可以分词的,keyWord是完全的匹配的

name可以分词

性别:不可以分词

tel:不能被索引是查不到的不支持查询的

 ---17---

java。

---19---

。。。。。。见代码

---20-28---

集群:

---29---

 不一样的配置:

 跨域配置:

直接启动,获取集群的状态:

 

我们再启动第二个: 

需要修改的地方:

1.

  

2. 

 3.需要添加一个特殊的查找节点的模块:

---2021-07-18---

---30---

---31---

es万物皆索引。

文档就是数据的意思,保存一个数据就是保存文档。

---33---

主分片不能改但是可以调整副本的分片数量。

---35-38---

节点分片的概念,要把握好。

放在哪个分片是有规则的,在我们增加和查询的时候都应该按照这个规则进行计算的。

查询是任意一台机器都有的。查询规则是一致的。

 插入时候,插入的是主分片,副本只是查询和计算的。

重要的很重要的:

有几个参数注意下:

1.主分片拿到就可以查询的

2.全部副本保存成功可以查询

3.超过一半大多数分片副本可以查

  ---39-40---

路由:根据张三这个数据 先找到分片 在找到分片的主节点

读的流程:

当数据刚好落在 p0的时候,不一定就查找的是p0的数据。要拿到所有的分片,之后轮训操作。

 ---41---

数据的更新的流程:

什么是倒排索引呢?

将文章的关键词和id做绑定就是倒排索引的逻辑。

 分词的分词器。

其中keyWord是关键词是不能被分词的。

text是文本是可以分词的。

ik_max_word 最细粒度的拆分

ik_smart 粗粒度的拆分

词条:索引中最小的存储和查询单元。

词典:字典,词条和集合。

倒排表:词典找到之后,会在倒排表找到文档的指针。用文档的id去匹配数据。

---42-43-44--

副本分片的个数就决定了写入的性能。

写入:写入真正罗盘才可以查询的,es并不是真正的实时的。

 日志:

 es是先写入内存再写入日志,数据库是先写入日志再写入内存。

加了操作系统的文件缓冲区,

 ---45--

中文分词器,如何下载安装

1.下载

2.

---45-46---

根据版本号更新:

 

新版本的版本号:

 

 如果就想用wersion则:

改为4可以的更新的。 

---47---

内存中的数据操作建立索引建立段文件是查不到的,暂存到系统的缓存中才可以查到的。内存大缓存少。

---48---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值