ElasticSearch——Day02

Es Day02

文章总结自B站狂神说ElasticSearch7.6.x

1.Es核心概念

ElasticSearch是面型文档的,倒排索引:使用Lucene倒排索引作为底层,适用于快速的全文搜索,一个索引由文档中同的列表构成,对于每一个词,都有包含它的文档列表。在ElasticSearch中索引被分为多个片,每片是一个Lucene的索引,所以每一个ElasticSearch是由多个Lucene索引构成的。在Es中数据库 = 索引; 表 = 类型;行 = 文档(document); 字段 = files;

2.IK分词器

分词是指,把普通的文字拆分为关键字,那么在搜索的时候就会自动检索关键字;如果使用中文建议手机用IK分词器。

2.2安装IK分词器

下载时要注意和Es的版本对应。建议使用狂神的百度云下载,关注公众号狂神说,回复ElasticSearch获取连接以及啥码。真的不是托,只是看了别人的视频总要有些回报。
下载完成之后解压到ElasticSearch的plugins文件夹下,启动Es。
测试Ik:
最少切分:ik_smart

最细粒度划分(穷尽词库的可能):ik_max_word

在ik分词器词库中增加自己的配置:找到ik目录下面的config文件夹,新建xx.dic文件,在xx.dic中添加词典,然后找到IKAnalyzer.cfg.xml,映射到刚才添加的文件<entry key="ext_dict">shuai.dic</entry>然后重启es和Kibana

再进行就可以看到自己添加的词了。

2.3 restful风格

es推荐使用restful风格的提交方式,添加使用PUT提交方式,删除使用delete提交方式,查询使用get提交。
添加新的索引:

newindex为新的索引(类似于数据库表)
type1为数据类型,一般不用写使用_doc来代替即可
1为当前文档(类似于数据库字段)的id
PUT /newindex/type1/1
{"name":"吴彦祖","age":12
}


使用GET请求调用_cat方法可以查看es的信息。

修改可以使用PUT修改或者是使用post /xx/xx/i _update,建议使用后者,后者可以单独修改一个内容(使用PUT请求进行修改的时候,必须将全部的内容都重新传入一边,否则就会为空,使用post_upate时只需要传递想要修改的字段(文档)的内容即可)。

条件查询:GET 库/_search?q=xx:条件