修改搜索中心排序问题

This commit is contained in:
zhangjun
2022-09-26 17:39:33 +08:00
parent a08b8cdc41
commit fd887d10fd
5 changed files with 100 additions and 0 deletions
@@ -124,6 +124,8 @@ public interface ElasticsearchService {
List<Map<String,Object>> searchAll(String index,String search);
List<Map<String,Object>> searchAllForExists(String index,String search);
/**
* 使用分词查询
*
@@ -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) {
updateIndex(index, page,size);