springboot使用jestClient整合elasticsearch

使用Jest client

pom.xml

<!--jest-->
<dependency>
	<groupId>org.elasticsearch</groupId>
	<artifactId>elasticsearch</artifactId>
	<version>6.5.4</version>
</dependency>
<dependency>
	<groupId>io.searchbox</groupId>
	<artifactId>jest</artifactId>
	<version>5.3.3</version>
</dependency>

application.properties

spring.elasticsearch.jest.uris=http://127.0.0.1:9200

JestService.java

package com.rancho.demo.elasticsearch;
 
import io.searchbox.client.JestClient;
import io.searchbox.client.JestResult;
import io.searchbox.core.*;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; 
 
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
 
@Service
public class JestTest {
 
    @Autowired
    private JestClient jestClient;
 
    public void add() {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("id", "20200317");
        map.put("name", "张三");
        map.put("age", 27);
        Index index = new Index.Builder(map).id("20200317").index("content").type("doc").build();
        try {
            JestResult jestResult = jestClient.execute(index);
            System.out.println(jestResult.getJsonString());
        } catch (Exception e) {
 
        }
    }
 
    public void search() {
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        searchSourceBuilder.query(QueryBuilders.matchPhrasePrefixQuery("name", "张三"));
        Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex("content").addType("doc").build();
        try {
            JestResult jestResult = jestClient.execute(search);
            System.out.println(jestResult.getJsonString());
        } catch (Exception e) {
 
        }
    }
 
    /**
     * Index也可以修改
     */
    public void update() {
        String script = "{" +
                "    \"doc\" : {" +
                "        \"id\" : \"20200317\"," +
                "        \"name\" : \"张三-update\"," +
                "        \"age\" : \"27\"" +
                "    }" +
                "}";
        Update update = new Update.Builder(script).index("content").type("doc").id("20200317").build();
        try {
            JestResult jestResult = jestClient.execute(update);
            System.out.println(jestResult.getJsonString());
        } catch (Exception e) {
 
        }
    }
 
    public void get() {
        Get build = new Get.Builder("content", "20200317")
                .type("doc")
                .build();
        try {
            JestResult jestResult = jestClient.execute(build);
            System.out.println(jestResult.getJsonString());
        } catch (Exception e) {
 
        }
    }
 
 
    public void delete() {
        Delete delete = new Delete.Builder("20200317").index("content").type("doc").build();
        try {
            JestResult jestResult = jestClient.execute(delete);
            System.out.println(jestResult.getJsonString());
        } catch (Exception e) {
 
        }
    }
}

相关代码:https://download.csdn.net/download/u011974797/12298606

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛哥是个大帅比

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值