public List searchKnowledge()

in tablestore-java-mcp-server-rag/tablestore-mcp-server/src/main/java/com/alicloud/openservices/tablestore/sample/service/TablestoreService.java [108:133]


    public List<KnowledgeContent> searchKnowledge(SearchKnowledgeQuery request) {
        String query = request.getQuery();
        int size = request.getSize();
        log.info("search knowledge query:[{}], size:{}", query, size);
        float[] embedQuery = embeddingService.embed(query);

        SearchQuery searchQuery = SearchQuery.newBuilder()
                .query(QueryBuilders.bool()
                        .should(QueryBuilders.knnVector(embeddingField, Math.min(1000, size + 100), embedQuery))
                        //.should(QueryBuilders.match(textField, query)) // only vector search, later can try mix search
                )
                .getTotalCount(false)
                .limit(size)
                .offset(0)
                .sort(new Sort(Collections.singletonList(new ScoreSort())))
                .build();
        SearchRequest searchRequest = SearchRequest.newBuilder()
                .tableName(knowledgeStore)
                .indexName(knowledgeIndex)
                .searchQuery(searchQuery)
                .returnAllColumns(true)
                .build();
        SearchResponse response = client.search(searchRequest);
        log.info("search knowledge requestId:{}", response.getRequestId());
        return searchResponseToKnowledgeContent(response);
    }