Skip to content

Commit aae7d94

Browse files
authored
fix(milvus): retrieve file_uid metadata only when present in schema (#220)
Because - The current similar vector search is incompatible with legacy collections. This commit - Retrieves the `file_uid` field only if present in the collection schema.
1 parent a1b3049 commit aae7d94

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

pkg/milvus/milvus.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -257,26 +257,29 @@ func (m *milvusClient) SimilarVectorsInCollection(ctx context.Context, p service
257257
}
258258
var filterStrs []string
259259
if hasMetadata {
260+
outputFields = append(
261+
outputFields,
262+
kbCollectionFieldFileName,
263+
kbCollectionFieldFileType,
264+
kbCollectionFieldContentType,
265+
)
266+
260267
if hasFileUID {
261268
if fileUID != uuid.Nil {
262269
filterStrs = append(filterStrs, fmt.Sprintf("%s == '%s'", kbCollectionFieldFileUID, fileUID.String()))
263270
}
271+
outputFields = append(outputFields, kbCollectionFieldFileUID)
264272
} else if fileName != "" {
265273
filterStrs = append(filterStrs, fmt.Sprintf("%s == '%s'", kbCollectionFieldFileName, fileName))
266274
}
267275

268276
if fileType != "" {
269277
filterStrs = append(filterStrs, fmt.Sprintf("%s == '%s'", kbCollectionFieldFileType, fileType))
270278
}
279+
271280
if contentType != "" {
272281
filterStrs = append(filterStrs, fmt.Sprintf("%s == '%s'", kbCollectionFieldContentType, contentType))
273282
}
274-
275-
outputFields = append(outputFields,
276-
kbCollectionFieldFileUID,
277-
kbCollectionFieldFileName,
278-
kbCollectionFieldFileType,
279-
kbCollectionFieldContentType)
280283
}
281284

282285
t = time.Now()

0 commit comments

Comments
 (0)