本文不介绍es的安装,Windows下安装很简单
首先下载安装es,也是下载个压缩包解压即可
pom.xml添加依赖(注意,这里es的依赖版本要和你下载的版本保持一致)
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.12.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.12.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.12.1</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>4.2.2</version>
</dependency>
新建一个配置类
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ESConfig {
@Bean
public RestHighLevelClient restHighLevelClient() {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("127.0.0.1", 9200, "http"))
);
return client;
}
}
配置基本完成了,可以使用了
以下是分页显示核心代码,可以参考看看
//1,构建SearchRequest请求对象,指定索引库
SearchRequest searchRequest = new SearchRequest("article");
//2,构建SearchSourceBuilder查询对象
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
//分页
sourceBuilder.from((page - 1) * limit);
sourceBuilder.size(limit);
sourceBuilder.sort("share_time", SortOrder.ASC);
searchRequest.source(sourceBuilder);
List<Article_a> list = new ArrayList<>();
int count = 0;
try {
//6,调用方法查询数据
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
//7,解析返回结果
count = (int) searchResponse.getHits().getTotalHits().value;
SearchHit[] hits = searchResponse.getHits().getHits();
for (int i = 0; i < hits.length; i++) {
//返回的是json字符串,转换为Java对象
Article_a article = JSONObject.parseObject(hits[i].getSourceAsString(), Article_a.class);
list.add(article);
}
} catch (IOException e) {
e.printStackTrace();
}