package com.kidgrow.searchcenter.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.kidgrow.common.model.PageResult;
|
import com.kidgrow.searchcenter.model.SearchDto;
|
import com.kidgrow.searchcenter.service.ISearchService;
|
import com.kidgrow.searchcenter.util.SearchBuilder;
|
import org.elasticsearch.search.sort.SortOrder;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
|
import org.springframework.stereotype.Service;
|
|
/**
|
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
|
*
|
* @Description: 通用搜索<br>
|
* @Project: <br>
|
* @CreateDate: Created in 2020/2/24 13:47 <br>
|
* @Author: <a href="4345453@kidgrow.com">liuke</a>
|
*/
|
@Service
|
public class SearchServiceImpl implements ISearchService {
|
@Autowired
|
private ElasticsearchTemplate elasticsearchTemplate;
|
|
/**
|
* StringQuery通用搜索
|
* @param indexName 索引名
|
* @param searchDto 搜索Dto
|
* @return
|
*/
|
@Override
|
public PageResult<JSONObject> strQuery(String indexName, SearchDto searchDto) {
|
return SearchBuilder.builder(elasticsearchTemplate, indexName)
|
.setStringQuery(searchDto.getQueryStr())
|
.addSort(searchDto.getSortCol(), SortOrder.DESC)
|
.setIsHighlight(searchDto.getIsHighlighter())
|
.getPage(searchDto.getPage(), searchDto.getLimit());
|
}
|
}
|