diff --git a/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisVectorStore.java b/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisVectorStore.java index e7e584fc80c..943b31e1a4c 100644 --- a/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisVectorStore.java +++ b/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisVectorStore.java @@ -364,7 +364,7 @@ public Optional doDelete(List idList) { @Override public List doSimilaritySearch(SearchRequest request) { - Assert.isTrue(request.getTopK() > 0, "The number of documents to returned must be greater than zero"); + Assert.isTrue(request.getTopK() > 0, "The number of documents to be returned must be greater than zero"); Assert.isTrue(request.getSimilarityThreshold() >= 0 && request.getSimilarityThreshold() <= 1, "The similarity score is bounded between 0 and 1; least to most similar respectively."); @@ -382,6 +382,7 @@ public List doSimilaritySearch(SearchRequest request) { Query query = new Query(queryString).addParam(EMBEDDING_PARAM_NAME, RediSearchUtil.toByteArray(embedding)) .returnFields(returnFields.toArray(new String[0])) .setSortBy(DISTANCE_FIELD_NAME, true) + .limit(0, request.getTopK()) .dialect(2); SearchResult result = this.jedis.ftSearch(this.config.indexName, query);