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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章