ElasticSearch 全文检索,简称ES,基于以前的 Lucene 开源搜索引擎。所采0用的的是倒排索引所以速度很快。详情如下。
在学习ES 是总结的技术笔记。链接如下:
ElasticSearch
一、Elasticsearch介绍
1 全文检索
2 倒排索引
- 索引:
- 正排索引(正向索引):
-
倒排索引(反向索引):
3 Elasticsearch的出现
4 Elasticsearch应用场景
5 Elasticsearch对比Solr
6 Elasticsearch数据结构
Elasticsearch跟关系型数据库中概念的对比:
二、Elasticsearch安装
1 安装ES服务 - 解压elasticsearch压缩文件
- 修改es服务器config目录下的yml文件,加入以下配置,用于连接ES服务:
- 启动bin/elasticsearch.bat
-
访问 http://127.0.0.1:9200
2 安装kibana - 解压kibana压缩文件
- 启动bin/kibana.bat
-
访问http://127.0.0.1:5601
3 安装head - 安装nodejs
- 安装Grunt
- 安装head插件
-
访问http://127.0.0.1:9100
三、Elasticsearch常用操作
1 索引操作
四、分词器
1 默认分词器
2 IK分词器 - 概念
- 安装
- 词典
-
测试分词器效果
3 拼音分词器 - 概念
- 安装
-
测试分词效果
4 自定义分词器
4.1 创建自定义分词器
4.2 测试自定义分词器
五、Elasticsearch搜索文档
1 搜索方式
2 复合搜索
3 结果排序
4 分页查询
5 高亮查询
6 SQL查询
六、Elasticsearch集群
1 概念
2 搭建集群 - 复制三个elasticsearch服务
- 修改每个es服务的cong/elasticsearch.yml文件
- 启动各个节点服务器
- 测试:访问http://localhost:9202/_cat/nodes查看是否集群搭建成功。
- head访问集群:访问集群中的任意一个节点即可。
-
kibana访问集群:修改kibana.yml,添加如下配置
3 测试集群状态 - 在集群中创建一个索引
-
查看集群状态
4 故障应对&水平扩容 - 关闭一个节点,可以发现ES集群可以自动进行故障应对。
- 重新打开该节点,可以发现ES集群可以自动进行水平扩容。
-
分片数不能改变,但是可以改变每个分片的副本数:
5 Linux搭建Elasticsearch
5.1 准备工作
5.2 搭建ES集群 -
启动两个ES节点:
5.3 连接ES集群
七、原生JAVA操作ES
1 搭建项目 - 创建maven项目
-
maven项目引入以下依赖:
2 索引操作 - 创建空索引
- 给索引添加结构
-
删除索引
3 文档操作 - 新增&修改文档
- 根据id查询文档
-
删除文档
4 查询操作 - 查询所有文档
-
根据关键词查询文档
八、Spring Data Elasticsearch
1 快速入门
1.1 linux环境配置分词器
1.2 搭建项目
1.3 创建实体类
1.4 创建Repository接口
1.5 测试方法
2 SpringDataES查询方式
2.1 使用Repository继承的方法查询文档
2.2 使用DSL语句查询文档
2.3 按照规则命名方法进行查询
2.4 分页查询
2.5 结果排序
2.6 ElasticsearchRestTemplate
九、Elasticsearch优化
1 磁盘选择
2 分片策略
3 内存设置
十、Elasticsearch案例
1 需求说明
笔记链接:
点击跳转
@Burial_DH ~~~~~~~~~~~~
版权声明:本文为Burial_DH原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。