# elasticsearch **Repository Path**: leimingyun/elasticsearch ## Basic Information - **Project Name**: elasticsearch - **Description**: ElasticSearch工具类,从不懂到三分钟内两行代码操作ElasticSearch。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: http://www.guanleiming.com - **GVP Project**: No ## Statistics - **Stars**: 27 - **Forks**: 13 - **Created**: 2021-01-08 - **Last Updated**: 2024-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## elasticsearch ElasticSearch工具类,像操作数据库一般两行代码操作ElasticSearch ## elasticsearch版本 使用的 elasticsearch-7.10.1 做的测试。 ## 使用 #### 1. Maven引入 ```` com.xnx3.elasticsearch elasticsearch 1.1.1 ```` #### 2. 创建ElasticSearch操作的工具类对象 ```` ElasticSearchUtil es = new ElasticSearchUtil("192.168.31.134"); ```` #### 3. 创建索引(可理解为数据库的表) ```` es.createIndex("user"); ```` 这里便是创建了一个名为 user 的索引(可以理解为user数据表),这个只需要创建一次,有了就不用在创建了,当然在执行创建也没事,执行不成功而已。 #### 4. 写入数据 ```` //用map定义一条数据 Map map = new HashMap(); map.put("username", "guanleiming"); map.put("age", 26); //提交保存到elasticsearch的user索引(可以理解为数据的user表)中 es.put(map, "user"); ```` #### 5. 查询,取数据 ##### 从user索引(可理解为数据的user表)中,查询username的值是guanleiming的数据 ```` List> list = es.searchBySqlQuery("SELECT * FROM user WHERE username = 'guanleiming'"); //或者: List> list = es.search("user", "username:guanleiming"); ```` ##### 从user索引(类似于数据的表)中,查询 username的值是guanleiming ,同时 age是 26 的数据 ```` List> list = es.searchBySqlQuery("SELECT * FROM user WHERE username = 'guanleiming' AND age = 26"); //或者: List> list = es.search("user", "username:guanleiming AND age:26"); ```` ## 接口使用扩展 本项目只是将常用接口进行了封装,以便不用入门就能使用。更多的使用,可直接使用本身官方的: ```` es.getRestClient(). es.getRestHighLevelClient(). ```` 可以通过获取client对象,来使用更多 elasticsearch sdk 本身所具有的功能