SpringBoot 集成 ElasticSearch,实现模糊查询,批量 CRUD,排序,分页,高亮...
导入 elasticsearch 依赖
创建高级客户端
基本用法
创建、判断存在、删除索引
对文档的 CRUD
批量 CRUD 数据
查询所有、模糊查询、分页查询、排序、高亮显示
总结
大致流程
注意事项
1 导入 elasticsearch 依赖
在 pom.xml 里加入如下依赖
非常重要:检查依赖版本是否与你当前所用的版本是否一致,如果不一致,会连接失败!!!!!!!!
2 创建高级客户端
3 基本用法
1.创建、判断存在、删除索引
2.对文档的 CRUD
创建文档:
注意:如果添加时不指定文档 ID,他就会随机生成一个 ID,ID 唯一。
创建文档时若该 ID 已存在,发送创建文档请求后会更新文档中的数据。
获取文档中的数据:
更新文档数据:
注意:需要将 User 对象中的属性全部指定值,不然会被设置为空,如 User 只设置了名称,那么只有名称会被修改成功,其他会被修改为 null。
删除文档:
3.批量 CRUD 数据
这里只列出了批量插入数据,其他与此类似
注意:hasFailures()
方法是返回是否失败,即它的值为 false 时说明上传成功
4.查询所有、模糊查询、分页查询、排序、高亮显示
4 总结
1.大致流程
创建对应的请求
--> 设置请求
(添加规则,添加数据等) --> 执行对应的方法
(传入请求,默认请求选项)–> 接收响应结果
(执行方法返回值)–> 输出响应结果中需要的数据
(source,status 等)
2.注意事项
如果不指定 id,会自动生成一个随机 id
正常情况下,不应该这样使用
new IndexRequest(“ljx777”)
,如果索引发生改变了,那么代码都需要修改,可以定义一个枚举类或者一个专门存放常量的类,将变量用 final static 等进行修饰,并指定索引值。其他地方引用该常量即可,需要修改也只需修改该类即可。elasticsearch 相关的东西,版本都必须一致,不然会报错
elasticsearch 很消耗内存,建议在内存较大的服务器上运行 elasticsearch,否则会因为内存不足导致 elasticsearch 自动 killed
评论