修改搜索中心排序问题
This commit is contained in:
@@ -153,6 +153,10 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|||||||
addInterceptor.excludePathPatterns("/api/sysLog/sys-log/exportSysLogExcelVOExcelData");
|
addInterceptor.excludePathPatterns("/api/sysLog/sys-log/exportSysLogExcelVOExcelData");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits");
|
||||||
|
|
||||||
|
|
||||||
//// //测试接口使用
|
//// //测试接口使用
|
||||||
// addInterceptor.excludePathPatterns("/api/**");
|
// addInterceptor.excludePathPatterns("/api/**");
|
||||||
|
|
||||||
|
|||||||
@@ -124,6 +124,8 @@ public interface ElasticsearchService {
|
|||||||
|
|
||||||
List<Map<String,Object>> searchAll(String index,String search);
|
List<Map<String,Object>> searchAll(String index,String search);
|
||||||
|
|
||||||
|
List<Map<String,Object>> searchAllForExists(String index,String search);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 使用分词查询
|
* 使用分词查询
|
||||||
*
|
*
|
||||||
|
|||||||
+31
@@ -310,6 +310,37 @@ public class ElasticsearchServiceImpl implements ElasticsearchService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用索引查询所有
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> searchAllForExists(String index,String search) {
|
||||||
|
List<Map<String, Object>> sourceList = new ArrayList<Map<String, Object>>();
|
||||||
|
|
||||||
|
//1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称
|
||||||
|
// Settings settings = Settings.builder().put("cluster.name", "my-application").build();
|
||||||
|
BoolQueryBuilder boolQueryMustNot = QueryBuilders.boolQuery();
|
||||||
|
QueryBuilder qBuilder = boolQueryMustNot.mustNot(QueryBuilders.existsQuery("titleBig"));
|
||||||
|
SearchResponse sResponse = client.prepareSearch(index)
|
||||||
|
.setQuery(qBuilder).setTrackTotalHits(true)
|
||||||
|
.get();
|
||||||
|
SearchHits hits = sResponse.getHits();
|
||||||
|
if(hits.getTotalHits().value > 0){
|
||||||
|
// QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery("");
|
||||||
|
// if(StringUtils.isNotBlank(search) && "fulltextserch".equals(index)){
|
||||||
|
// queryBuilder1 = QueryBuilders.multiMatchQuery(search,
|
||||||
|
// "sortTitle","numberTitle","yearOrder","nameTitle","title","textContent","issue_time"
|
||||||
|
// ).minimumShouldMatch("100%").field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f).field("textContent",100f).field("issue_time",10f);
|
||||||
|
// }
|
||||||
|
SearchResponse scrollResp = search(index,qBuilder, 1,(int) hits.getTotalHits().value);
|
||||||
|
for (SearchHit hit : scrollResp.getHits()) {
|
||||||
|
sourceList.add(hit.getSourceAsMap());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sourceList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public SearchResponse search(String index, QueryBuilder query,int page, int size) {
|
public SearchResponse search(String index, QueryBuilder query,int page, int size) {
|
||||||
|
|
||||||
updateIndex(index, page,size);
|
updateIndex(index, page,size);
|
||||||
|
|||||||
@@ -61,6 +61,17 @@ public class ResetSearchCenterController extends BaseController<Map<String, Obje
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "|SearchCenter|重新创建ALL标准数据索引")
|
||||||
|
@PostMapping(value="/resetALLSearchCenterForExits")
|
||||||
|
public ResponseMessage resetALLSearchCenterForExits(@RequestBody SearchCenter searchCenter) throws Exception{
|
||||||
|
ResponseMessage x = verifySearchCenter(searchCenter);
|
||||||
|
if (x != null){
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
return resetSearchCenterService.resetALLSearchCenterForExits(searchCenter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "|SearchCenter|手动重新创建(---7天内---)ALL标准数据索引(凌晨有自动程序会跑)")
|
@ApiOperation(value = "|SearchCenter|手动重新创建(---7天内---)ALL标准数据索引(凌晨有自动程序会跑)")
|
||||||
@PostMapping(value="/manualResetALLSearchCenter")
|
@PostMapping(value="/manualResetALLSearchCenter")
|
||||||
public ResponseMessage manualResetALLSearchCenter(@RequestBody SearchCenter searchCenter) throws Exception{
|
public ResponseMessage manualResetALLSearchCenter(@RequestBody SearchCenter searchCenter) throws Exception{
|
||||||
|
|||||||
@@ -260,6 +260,30 @@ public class ResetSearchCenterService {
|
|||||||
return Result.success(res);
|
return Result.success(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Async
|
||||||
|
public ResponseMessage resetALLSearchCenterForExits(SearchCenter searchCenter) throws Exception{
|
||||||
|
// Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
||||||
|
SearchCenter standSearch = new SearchCenter();
|
||||||
|
standSearch.setExecType(searchCenter.getExecType());
|
||||||
|
if(StringUtils.isNotBlank(searchCenter.getSearch())){
|
||||||
|
standSearch.setSearch(searchCenter.getSearch());
|
||||||
|
}
|
||||||
|
if(searchCenter.getIdList() != null && !searchCenter.getIdList().isEmpty()){
|
||||||
|
standSearch.setIdList(searchCenter.getIdList());
|
||||||
|
}
|
||||||
|
SarStandardsInfoEOPage page = new SarStandardsInfoEOPage();
|
||||||
|
ResponseMessage stand = resetfulltextForExists(page,standSearch);
|
||||||
|
List<String> r = new ArrayList<>();
|
||||||
|
if(stand.isOk() && StringUtils.isNotBlank(stand.getData().toString())){
|
||||||
|
r.add(stand.getData().toString());
|
||||||
|
}
|
||||||
|
String res = String.join(", ", r);
|
||||||
|
logger.info(res);
|
||||||
|
|
||||||
|
return Result.success(res);
|
||||||
|
}
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{
|
||||||
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch");
|
||||||
@@ -622,6 +646,34 @@ public class ResetSearchCenterService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//重建国内外标准
|
||||||
|
@Async
|
||||||
|
public ResponseMessage resetfulltextForExists(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{
|
||||||
|
|
||||||
|
int countUpdateSuccess = 0;
|
||||||
|
int countAddSuccess = 0;
|
||||||
|
|
||||||
|
Boolean getStandIndex = elasticsearchService.isIndexExist("stand");
|
||||||
|
|
||||||
|
if(!getStandIndex){
|
||||||
|
logger.info("ES 不存在索引:stand");
|
||||||
|
return Result.error("ES 不存在索引:stand");
|
||||||
|
}
|
||||||
|
|
||||||
|
String search = getSearch(searchCenter);
|
||||||
|
String result = "error";
|
||||||
|
List<Map<String, Object>> searchListData = elasticsearchService.searchAllForExists("fulltextserch",search);
|
||||||
|
for (Map<String, Object> map : searchListData) {
|
||||||
|
String title = String.valueOf(map.get("title"));
|
||||||
|
if (!"".equals(title) && !"null".equals(title)) {
|
||||||
|
map.put("titleBig",title.toUpperCase());
|
||||||
|
}
|
||||||
|
result = elasticsearchService.updateDataByIdForMap(map, "fulltextserch", "fulltextserch", String.valueOf(map.get("id")));
|
||||||
|
}
|
||||||
|
return Result.success(result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//重建国内外标准
|
//重建国内外标准
|
||||||
@Async
|
@Async
|
||||||
public ResponseMessage resetStandSearchCenterId(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{
|
public ResponseMessage resetStandSearchCenterId(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{
|
||||||
|
|||||||
Reference in New Issue
Block a user