Commit bcd27ed3 by 段启岩

搜索服务更新

parent 55b73c24
......@@ -15,6 +15,7 @@ import org.springframework.util.StringUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
......@@ -37,7 +38,7 @@ public class SearchApi {
@Anonymous
@GetMapping("")
@ApiOperation("搜索")
public Response<?> search(@Valid PageForm pageForm, String keywords, String itemType, BindingResult bindingResult) {
public Response<?> search(@Valid PageForm pageForm, String keywords, @RequestParam(value = "type", required = false) String itemType, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return Response.fieldError(bindingResult.getFieldError());
}
......
......@@ -27,6 +27,7 @@ import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.service.IUserService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.DisMaxQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
......@@ -102,14 +103,15 @@ public class SearchServiceImpl implements ISearchService {
disMaxQueryBuilder.add(descriptionQueryBuilder);
disMaxQueryBuilder.add(contentQueryBuilder);
QueryBuilder queryBuilder
BoolQueryBuilder boolQueryBuilder
= QueryBuilders
.boolQuery()
.must(QueryBuilders.constantScoreQuery(QueryBuilders.matchPhraseQuery("itemType", itemType)))
.must(disMaxQueryBuilder);
return searchRepository.search(queryBuilder, PageRequest.of(pageNumber, pageSize));
if (null != itemType) {
boolQueryBuilder.must(QueryBuilders.constantScoreQuery(QueryBuilders.matchPhraseQuery("itemType", itemType)));
}
return searchRepository.search(boolQueryBuilder, PageRequest.of(pageNumber, pageSize));
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment