Skip to content

Commit ba142a1

Browse files
committed
Set redis query limit to match requested topK used in KNN search
1 parent a55316c commit ba142a1

File tree

1 file changed

+2
-1
lines changed
  • vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore

1 file changed

+2
-1
lines changed

vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisVectorStore.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ public Optional<Boolean> doDelete(List<String> idList) {
364364
@Override
365365
public List<Document> doSimilaritySearch(SearchRequest request) {
366366

367-
Assert.isTrue(request.getTopK() > 0, "The number of documents to returned must be greater than zero");
367+
Assert.isTrue(request.getTopK() > 0, "The number of documents to be returned must be greater than zero");
368368
Assert.isTrue(request.getSimilarityThreshold() >= 0 && request.getSimilarityThreshold() <= 1,
369369
"The similarity score is bounded between 0 and 1; least to most similar respectively.");
370370

@@ -382,6 +382,7 @@ public List<Document> doSimilaritySearch(SearchRequest request) {
382382
Query query = new Query(queryString).addParam(EMBEDDING_PARAM_NAME, RediSearchUtil.toByteArray(embedding))
383383
.returnFields(returnFields.toArray(new String[0]))
384384
.setSortBy(DISTANCE_FIELD_NAME, true)
385+
.limit(0, request.getTopK())
385386
.dialect(2);
386387

387388
SearchResult result = this.jedis.ftSearch(this.config.indexName, query);

0 commit comments

Comments
 (0)