一、ES概念
1、什么是elasticsearch
elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容
elasticsearch结合kibana、Logstash、Beats,也就是elastic stack (ELK)。被广泛应用在日志数据分析、实时监控
等领域。
Lucene是一个ava语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发
Lucene的优势:
易扩展
高性能(基于倒排索引)
Lucene的缺点:
只限于Java语言开发
学习曲线陡峭
不支持水平扩展
2、elasticsearch发展
3、正向索引和倒排索引
正向索引
倒排索引
什么是文档和词条?
每一条数据就是一个文档
对文档中的内容分词,得到的词语就是词条
什么是正向索引?
基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包
含词条
什么是倒排索引?
对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,而后获取到文档
4、elasticsearch与mysql
二、安装ES
1、安装ES
2、部署kibana
kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。
3、ik分词器
IK分词器的拓展和停用词典
三、索引库操作
1、mapping属性
2、创建索引库
3、查看、删除索引库
4、文档操作
四、RestClient
1、RestClient操作索引库
2、RestClient操作文档
3、JavaRestClient批量导入酒店数据到ES
五、DSL查询
1、查询所有
2、全文检索
3、精确查询
4、地理查询
5、复合查询
六、查询结果处理
1、排序
2、分页
3、高亮
七、RestClient查询文档
1、快速入门
2、全文检索查询
3、精确查询、复合查询
4、排序、分页
5、高亮