使用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) {
}
}
}