nisbos-es-client
<p><strong>一、什么是elasticsearch</strong>
ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有价值。ElasticSearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elastic Search 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。</p>
<p><strong>二、nisbos-es-client介绍</strong>
nisbos-es-client是一个可基于springboot的elasticsearch java客户端调用封装工具,通过elasticsearch官网推荐的RestHighLevelClient实现,内置了es索引结构工具、es索引数据增删改工具、es查询工具、es数据分析工具或者es用法脚手架,能够轻松集成并非常方便的使用。</p>
<p><strong>三、版本说明</strong>
基于elasticsearch6+版本进行开发,elasticsearch6的大版本基本兼容。特别注意:建议在引入的springboot工程中pom文件添加elasticsearch版本号,否则可能被springboot parent工程覆盖。</p>
<properties>
……
<elasticsearch.version>6.6.0</elasticsearch.version>
……
</properties>
<p><strong>四、使用前你应该具有哪些技能</strong>
springboot
maven
elasticsearch基础概念
elasticsearch rest api含义以及用法</p>
<p><strong>五、工具功能范围介绍</strong>
自动代理接口简化开发
自动代理接口,简化开发
索引结构管理
判断索引是否存在
索引结构创建
自动定制索引结构mapping
删除索引结构</p>
<p>CRUD</p>
<ul>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4181062340470626" title="LowLevelClient查询">LowLevelClient查询</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4177465611492111" title="新增索引数据">新增索引数据</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4181407422792552" title="批量新增索引数据">批量新增索引数据</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4181432649273454" title="分批次新增索引数据">分批次新增索引数据</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4181457566646315" title="覆盖更新索引数据">覆盖更新索引数据</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4181510029185148" title="删除索引数据">删除索引数据</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4183543047929695" title="根据条件删除索引">根据条件删除索引</a></li>
<li><a href="https://www.showdoc.cc/page/edit/680055162763732/4183619493818460" title="删除索引根据id">删除索引根据id</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4183886087685535" title="原始查询">原始查询</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4184116848028255" title="非分页查询">非分页查询</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4184148433216003" title="查询数量">查询数量</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4184262735274175" title="支持分页、高亮、排序的查询">支持分页、高亮、排序的查询</a></li>
<li><a href="https://www.showdoc.cc/chlingm?page_id=4184286564560234" title="scroll方式查询">scroll方式查询</a></li>
</ul>
<p><strong>六、工具源码结构介绍</strong>
annotation
存放一些注解,用于简化组件使用</p>
<p>config
基于springboot的自动化的功能,包括自动配置es客户端组件</p>
<p>auto
自动管理索引结构的功能 自动生成接口代理的功能</p>
<p>enums
基础数据的枚举</p>
<p>index
索引结构管理的功能包</p>
<p>repository
CURD+聚合的功能包</p>
<p>util
内部工具包</p>
<p><strong> 七、开始使用 </strong></p>
<p>7.1、使用前说明
组件基于JDK1.8编译,请注意JDK版本的选择
目前只支持springboot方式集成,如果需要与普通spring系统集成需要做简单改造
如果您并不需要使用组件自带的集成方式,仅需参考与es集成的方式请注意关注ElasticsearchTemplateImpl类中的代码即可</p>
<p>7.2、maven依赖
请把组件安装到maven仓库</p>
<dependency>
<groupId>com.nisbos</groupId>
<artifactId>nisbos-es-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<p>7.3、引入组件
添加EnableESTools注解,在springboot启动类上添加
@EnableESTools注解能够帮助开发人员自动注入工具服务,简化配置,并引入自动发现es索引结构实体类的功能,识别ESCRepository接口并自动生成代理的功能
将@EnableESTools配置于SpringBoot启动类上</p>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/2d40f2eebe65fa832c968c63d91d15ab?showdoc=.jpg" alt="" /></p>
<p>7.4、application.ym增加elasticsearch服务配置
application.yml配置elasticsearch服务的uri,如果有多个(集群情况)请用半角逗号,隔开,必须配置;
application.properties添加elasticsearch用户名密码,没有可以不用配置;
如:
elasticsearch:
host: 127.0.0.1:9200
username: elastic
password: 111111</p>
<p>7.5、使用组件
在spring管理的bean内直接自动注入组件内置的两个工具服务:ElasticsearchTemplate、ElasticsearchIndex并调用相关api即可;
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/c0e4c0b4203a51a16888ecace53e757d?showdoc=.jpg" alt="" /></p>