地址: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---