package com.superbiz.agent.controller; import com.superbiz.agent.dto.Result; import com.superbiz.agent.service.VectorSearchService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 文档检索控制器(测试用) */ @Slf4j @RestController @RequestMapping("/api/search") public class SearchController { @Autowired private VectorSearchService vectorSearchService; /** * 搜索相似文档 */ @GetMapping("/similar") public Result> searchSimilar( @RequestParam("query") String query, @RequestParam(value = "topK", defaultValue = "5") int topK, @RequestParam(value = "category", required = false) String category ) { try { log.info("收到检索请求,query: {}, topK: {}, category: {}", query, topK, category); List results = vectorSearchService.searchSimilarDocuments(query, topK, category); log.info("检索完成,返回 {} 条结果", results.size()); return Result.success(results); } catch (Exception e) { log.error("检索失败", e); return Result.error(500, "检索失败: " + e.getMessage()); } } }