提交 799b8ac2 authored 作者: zhouzhigang's avatar zhouzhigang

--no commit message

上级 15161b27
......@@ -101,10 +101,12 @@ import com.zrqx.resource.fg.service.videolibrary.FgVideoLookLibraryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
/**
* 资源Controller
*/
@Slf4j
@RestController
@RequestMapping("/fg/resource")
@Api(description = "前台-资源的公共接口")
......@@ -189,6 +191,9 @@ public class FgResourceLibraryController {
@Value("${spring.data.solr.host}")
private String BASE_URL;
private static final int pageSize = 10;
private static final int pageNum = 0;
@ApiOperation(value = "检索", notes = "检索")
@GetMapping("/search")
......@@ -196,6 +201,57 @@ public class FgResourceLibraryController {
ResultPage result = solrList(form, pageParam);
return CallBack.success(result);
};
@ApiOperation("自动补全")
@GetMapping("/get/suggest")
public CallBack<List<String>> getSuggest(FgSearchForm form) {
return CallBack.success(this.searchWords(form));
}
public List<String> searchWords(FgSearchForm form) {
SolrQuery solrQuery = new SolrQuery();
solrQuery.setStart(pageNum);
solrQuery.setRows(pageSize);
StringBuffer sb = new StringBuffer(" *:* ");
//content
String input =form.getName();
input = regEx(input);
if(StringUtils.isNotBlank(input)){
String[] ch = input.split("\\s+");
for (String s : ch) {
sb.append(" AND ( keywords_yu : " + s + "* ) ");
}
}
solrQuery.setQuery(sb.toString());
log.info("搜索自动补全参数: {}", sb.toString());
List<String> resultList;
try {
QueryResponse sr = client.query(solrQuery);
SolrDocumentList doclist = sr.getResults();
if(ArrayUtils.empty(doclist)){
log.info("自动搜索补全结果集为空");
return new ArrayList<>();
}
resultList = doclist.stream()
.map(doc -> doc.get("name").toString())
.collect(Collectors.toList());
log.info("自动搜索补全结果集: {}", resultList.toString());
} catch (Exception e) {
log.error("自动补全-solr查询失败: {}", e);
throw new BaseException("查询失败,请稍后重试");
}
return resultList.stream().distinct().collect(Collectors.toList());
}
/*
* @ApiOperation(value = "搜索栏", notes = "搜索栏")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论