Please do a quick search on GitHub issues first, there might be already a duplicate issue for the one you are about to create. If the bug is trivial, just go ahead and create the issue. Otherwise, please take a few moments and fill in the following sections:

Bug description Exact similarity match with Redis Vector Store always retuning empty list

Environment Spring AI version: 1.0.0-SNAPSHOT, Java version: 17, which vector store you use: Redis Vector Store

Steps to reproduce

FilterExpressionBuilder b = new FilterExpressionBuilder();
        SearchRequest searchRequest = SearchRequest
                .query("find by id").withFilterExpression(b.eq("id",303).build());
        List<Document> documents = vectorStore.similaritySearch(searchRequest);

Expected behavior vectorStore.similaritySearch should return one record

Comment From: markpollack

Is "find by id" something that is the document? I guess that is what you mean by 'exact match' in the issue title. We will investigate, however if you can you provide a more complete example that will help, showing the documents that were loaded into the vector store.

Comment From: cxlet

Same problem

public List getDocuments() { FilterExpressionBuilder b = new FilterExpressionBuilder(); SearchRequest searchRequest = SearchRequest.builder() // .query("技术") .filterExpression( // b.eq("ossObjectName", this.ossObjectName) b.eq("test1", "test1") .build()) .build(); log.debug("getDocuments:{}", searchRequest); return vectorStore.similaritySearch(searchRequest); }

361687 DEBUG [2025-03-31 15:42:18] c.d.m.d.k.m.KBaseFileModel(77): getDocuments:SearchRequest{query='', topK=4, similarityThreshold=0.0, filterExpression=Expression[type=EQ, left=Key[key=test1], right=Value[value=test1]]} 362457 DEBUG [2025-03-31 15:42:19] c.d.m.k.e.KBaseFileGetByIdQryExe(31): ----query documents.size:0

Comment From: KyleUltimate

got the same issue