java开发构件库管理系统,使用elasticsearch存储,并通过其进行快速检索构件描述,找到相应功能的构件的pom坐标信息.
1.顺序图
2.构件对象和分页对象
用于存放实体类
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* 存储构件信息
* @author dingyz
* @since 2019.12.10
* @version 1.0
*/
@Getter @Setter @ToString
public class ComponentInfo {
private String docId;
private String groupId;
private String artifactId;
private String version;
private String explain;
}
package com.dyz.pojo;
import java.util.ArrayList;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
@Setter@Getter
public class PageBase {
//当前页
private Integer currentPage;
//每一页大小
private int pageSize;
//总页数
private Integer totalPage;
//总记录
private Integer totalCount;
//当前页实体
private List<?> objectList = new ArrayList<>();
@Override
public String toString() {
return "PageBaseBean [currentPage=" + currentPage + ", totalPage=" + totalPage + ", totalCount=" + totalCount
+ ", objectList=" + objectList + "]";
}
}
3.ElasticSearch Client对象
package com.dyz.elastic.impl;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
* @author dingyz
*/
@Service("restHighLevelClientFactory")
public class RestHighLevelClientFactory {
private RestHighLevelClient client=null;
@Value("${global.elasticUrl}")
private String url;
public RestHighLevelClient getRestHighLevelClient(){
if(null==client){
String[] ips = url.split(",");
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);
client = new RestHighLevelClient(builder);
}
return client;
}
}
4.ElasticSearch搜索对象
package com<