xnx3 / elasticsearch

ElasticSearch工具类,像操作数据库一样两行代码操作ElasticSearch。ElasticSearch Utility class. Just like working with a database, two lines of code can provide ElasticSearch.

Home Page:http://www.guanleiming.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

elasticsearch

ElasticSearch工具类,像操作数据库一般两行代码操作ElasticSearch

elasticsearch版本

使用的 elasticsearch-7.10.1 做的测试。

使用

1. Maven引入

<dependency>
	<groupId>com.xnx3.elasticsearch</groupId>
	<artifactId>elasticsearch</artifactId>
	<version>1.1.1</version>
</dependency>

2. 创建ElasticSearch操作的工具类对象

ElasticSearchUtil es = new ElasticSearchUtil("192.168.31.134");

3. 创建索引(可理解为数据库的表)

es.createIndex("user");

这里便是创建了一个名为 user 的索引(可以理解为user数据表),这个只需要创建一次,有了就不用在创建了,当然在执行创建也没事,执行不成功而已。

4. 写入数据

//用map定义一条数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("username", "guanleiming");
map.put("age", 26);
//提交保存到elasticsearch的user索引(可以理解为数据的user表)中
es.put(map, "user");

5. 查询,取数据

从user索引(可理解为数据的user表)中,查询username的值是guanleiming的数据
List<Map<String, Object>> list = es.searchBySqlQuery("SELECT * FROM user WHERE username = 'guanleiming'");
//或者:
List<Map<String, Object>> list = es.search("user", "username:guanleiming");
从user索引(类似于数据的表)中,查询 username的值是guanleiming ,同时 age是 26 的数据
List<Map<String, Object>> list = es.searchBySqlQuery("SELECT * FROM user WHERE username = 'guanleiming' AND age = 26");
//或者:
List<Map<String, Object>> list = es.search("user", "username:guanleiming AND age:26");

接口使用扩展

本项目只是将常用接口进行了封装,以便不用入门就能使用。更多的使用,可直接使用本身官方的:

es.getRestClient().
es.getRestHighLevelClient().

可以通过获取client对象,来使用更多 elasticsearch sdk 本身所具有的功能

About

ElasticSearch工具类,像操作数据库一样两行代码操作ElasticSearch。ElasticSearch Utility class. Just like working with a database, two lines of code can provide ElasticSearch.

http://www.guanleiming.com

License:Apache License 2.0


Languages

Language:Java 100.0%