Tìm kiếm vector
Giải thích truy vấn nhúng thủ công/tự động của Vector Search, ANN/ENN, bộ lọc trước/sau, tùy chọn vector lồng ghép Driver 5.10 và đường dẫn mở rộng Bson.
Vector Search cơ bản.
Vector Search cần tên chỉ mục rõ ràng và $vectorSearch là stage đầu tiên của aggregation.
Truy vấn vector / Nhúng tự động.
queryVector(float[]/double[]/Collection<Double>)
Truyền vector được tạo ra từ ứng dụng.
queryVector(BinaryVector)
Sử dụng biểu diễn vector nhị phân gọn của MongoDB Driver.
query(String)
Truyền chính văn bản truy vấn vào chỉ mục nhúng tự động của MongoDB.
query(VectorSearchQuery)
Lối thoát tương thích trong tương lai để truyền trực tiếp loại truy vấn gốc của Driver.
Core DSL không bao gồm chức năng gọi nhà cung cấp nhúng bên ngoài để tạo vector. Vector thủ công được tạo ra từ ứng dụng gọi và truyền vào queryVector(...).
ANN / ENN
ANN
Sử dụng approximate(numCandidates) hoặc numCandidates(...). Trong ANN, cần số lượng candidate.
ENN
Sử dụng exact() hoặc exact(true). Khi kích hoạt exact, giá trị numCandidates hiện có sẽ bị xóa.
Bộ lọc trước / bộ lọc sau.
filter()/filterFields()
Bộ lọc trước vào $vectorSearch.filter ảnh hưởng đến việc chọn candidate.
fields(...)
Bộ lọc sau $match thông thường sau $vectorSearch.
Nhúng lồng ghép / mảng (Driver 5.10)
filter / filterFields
Bộ lọc tài liệu lá của nhúng lồng ghép.
parentFilter / parentFilterFields
parentFilter áp dụng cho tài liệu gốc.
nestedScoreMode
Kết hợp nhiều điểm nhúng khớp của một tài liệu bằng AVG hoặc MAX.
Điểm số / chiếu / kết thúc
findAll / find
Trả về kết quả vector dưới dạng Flux/Mono.
count().execute()
Đếm số lượng kết quả pipeline sau giới hạn vector. Không phải là tổng số lượng của toàn bộ tập hợp.
existsQuery().execute()
Kiểm tra xem có kết quả pipeline vector hay không.
Giai đoạn / tùy chọn gốc của Driver
stage(Bson) được thực thi ngay sau $vectorSearch, trước khi lọc/siêu dữ liệu/chiếu. driverOptions(...) là escape hatch cho phép sử dụng các tùy chọn Driver hiện tại/tương lai mà chưa có trong API tiện lợi.