一、初始elasticsearch
1、了解ES
(1)什么是elasticsearch?
一个开源的分布式搜索引擎
,可以用来实现搜索
、日志统计
、分析
、系统监控
等功能。
(2)什么是elastic stack(ELK)?
是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch。
beats、Logstash
:数据收集
kibana
:图形展示
elasticsearch
:数据存储、搜索的核心功能
(3)什么是Lucene?
是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。
elasticsearch采用倒排索引:
文档(document):每条数据就是一个文档
词条(term):文档按照语义分成的词语(词条不能重复)
2、倒排索引
正向索引:根据文档找词条
倒排索引:根据词条找文档,更擅长于基于文档的部分内容进行搜索。
3、es的一些概念
4、安装es、kibana
5、分词器
默认分词器:standard
中文分词器:chinese
中文分词推荐使用IK分词器
:https://github.com/medcl/elasticsearch-analysis-ik/release
ik_smart
和ik_max_word
二、索引库操作
1、mapping映射属性
2、索引库的CRUD
三、文档操作
1、新增文档
2、查询文档
3、删除文档
4、修改文档
四、RestClient操作索引库
什么是RestClient?
ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。
官网地址:https://www.elastic.co/guide/en/elasticsearch/client/index.html
步骤一:导入课前资料
总结:
五、RestClient操作文档
批量操作
思考:
MySQL与Elasticsearch有什么差别呢?
Elasticsearch的文档操作API有什么样的规律?
六、DSL查询文档
官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
1、DSL查询分类
2、全文检索查询
回对用户输入的内容分词,常用于搜索框搜索。
3、精准查询
4、地理坐标查询
5、组合查询
6、FunctionScoreQuery
7、BooleanQuery
七、搜索结果处理
1、排序
**注意:**指定排序字段后,打分机制会失效。
2、分页
3、高亮
八、RestClient查询文档
private RestHighLevelClient client;
要构建查询条件,只要记住一个类:QueryBuilders
1、快速入门
2、match查询
3、精确查询
4、复合查询
5、排序、分页、高亮
本文图片来自视频学习过程中所截,主要用于个人复习,视频来源:https://www.bilibili.com/video/BV1LQ4y127n4