بحث المتجهات
يصف استعلام التضمين اليدوي/التلقائي لـ Vector Search، ANN/ENN، الفلتر المسبق/اللاحق، خيارات المتجه المتداخلة في Driver 5.10 ومسار Bson الممتد.
بحث المتجه الأساسي.
يتطلب بحث المتجه اسم فهرس صريح و $vectorSearch هو المرحلة الأولى من التجميع.
استعلام المتجه / التضمين التلقائي.
queryVector(float[]/double[]/Collection<Double>)
يمرر المتجه الذي تم إنشاؤه بواسطة التطبيق.
queryVector(BinaryVector).
يستخدم التمثيل الثنائي المضغوط للمتجه من MongoDB Driver مباشرة.
query(String).
يمرر نص الاستعلام نفسه إلى فهرس التضمين التلقائي في MongoDB.
query(VectorSearchQuery).
فتحة الهروب المتوافقة مع المستقبل لتمرير نوع الاستعلام الأصلي الخاص بالسائق مباشرة.
نواة DSL لا تتضمن وظيفة استدعاء مزود التضمين الخارجي لإنشاء المتجه. يتم إنشاء المتجه اليدوي بواسطة التطبيق المستدعي ويتم تمريره إلى queryVector(...).
ANN / ENN.
ANN.
استخدم approximate(numCandidates) أو numCandidates(...). في ANN، تحتاج إلى عدد المرشحين.
ENN.
استخدم exact() أو exact(true). عند تفعيل exact، يتم إزالة قيمة numCandidates الحالية.
الفلتر المسبق / الفلتر اللاحق.
filter()/filterFields().
يؤثر الفلتر المسبق الذي يدخل في $vectorSearch.filter على اختيار المرشحين نفسه.
fields(...).
الفلتر اللاحق العام $match بعد $vectorSearch.
التضمين المتداخل / المصفوفة (Driver 5.10).
filter / filterFields.
فلتر الوثيقة الورقية للتضمين المتداخل.
parentFilter / parentFilterFields.
parentFilter للسائق 5.10 المطبق على الوثيقة الجذرية.
nestedScoreMode
يجمع عدة درجات تطابق embedding لوثيقة واحدة باستخدام AVG أو MAX.
Score / projection / terminal
findAll / find
يعيد نتيجة المتجهات كـ Flux/Mono.
count().execute()
يعد عدد نتائج خط الأنابيب بعد حد المتجهات. ليس العدد الإجمالي للمجموعة.
existsQuery().execute()
يتحقق مما إذا كانت نتائج خط أنابيب المتجهات موجودة.
خيارات مرحلة ما بعد السائق الأصلية
stage(Bson) يتم تنفيذه مباشرة بعد $vectorSearch، قبل post-filter/metadata/projection. driverOptions(...) هو مخرج يمكن استخدامه للاحتفاظ بخيارات السائق الحالية/المستقبلية التي لا تزال غير موجودة في واجهة برمجة التطبيقات المريحة.