本文将介绍在springboot中整合elasticsearch。
完成elasticsearch中的分词、停词以及扩展词库配置
https://www.jianshu.com/p/2d80cea58018
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ElasticSearchConfig {
@Bean
public RestHighLevelClient getRestHighLevelClient() {
String[] ips = {"localhost:9200"};
HttpHost[] httpHosts = new HttpHost[ips.length];
for (int i = 0; i < ips.length; i++) {
httpHosts[i] = HttpHost.create(ips[i]);
}
RestClientBuilder builder = RestClient.builder(httpHosts);
return new RestHighLevelClient(builder);
}
}
import org.apache.commons.beanutils.BeanUtils;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
@RestController
public class ElasticSearchController{
@Resource
RestHighLevelClient restHighLevelClient;
@GetMapping("/adddoc")
public void insertDoc(String id, String name, String desc) throws Exception {
Student student = new Student("xiaoli", "xiaoli is a cute kid");
Map map = BeanUtils.describe(student);
IndexRequest request = new IndexRequest("test", "doc", id);
request.source(map);
restHighLevelClient.index(request);
}
}
class Student {
private String name;
private String desc;
public Student(String name, String desc) {
this.name = name;
this.desc = desc;
}
public Student() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
05 springboot与elasticsearch的整合
原文:https://www.cnblogs.com/alichengxuyuan/p/12513406.html