ElasticSearch的访问支持多种语言,在官网上可以看ElasticSearch使用标准的RESTful API和JSON,构建和维护了很多其他语言的客户端,例如Java,Python,.NET和PHP等。
Java Rest Client是相对于Java API更加轻量级的客户端,具有依赖少、自动负载均衡、使用方便、支持异步调用、权限认证、超时及失败重试等特点,而且Java Rest Client兼容所有的ElasticSearch版本并且完全遵守Restful API风格。下面简要演示其使用方法。
(1)添加依赖
在pom文件中添加如下依赖:
添加完上面的依赖,就可以在项目中使用Java Rest Client工具了。
(2)初始化客户端
Java Rest Client主要的工具类为RestClient,此工具类用于对ElasticSearch进行相关的数据操作。代码如下:
注意由于一般线上业务ElasticSearch为集群模式,所以RestClient在创建的时候,可以传递多个HttpHost,这样RestClient也会进行相应的负载均衡。
为防止业务数据的泄露,实际业务中的ElasticSearch一般会添加Http基本认证,那么就需要换一种连接ElasticSearch的方式,使用CredentialsProvider的方式连接ElasticSearch,具体使用方法如下:(www.xing528.com)
(3)查询ElasticSearch信息
使用如上方法,会输出ElasticSearch的版本信息等,等同于访问http://{ElasticSearchIP}: 9200。
(4)创建索引
创建一个名为java-dev-map-rest的索引,设置它的分析器用IK,使用ik_smart分词器;并创建名为news的类型,它只有一个message字段,此字段同样使用ik_smart分词器。这里需要以put方式提交请求。创建索引和类型的方法如下:
(5)添加文档数据
(6)查询数据
希望查询关键词“无人机”,并以红色字体显示出关键字(<font color='red'>关键词</font>),来凸显关键词功能。
执行上面的程序,可见Java Rest Client使用非常方便。在实际业务中,可以先在Postman等工具中测试好ElasticSearch网络请求,然后复制到NStringEntity中,就可以完成相应的业务操作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。