Milvus
Zilliz
  • Home
  • Blog
  • الجمع بين التصفية الجغرافية المكانية والبحث عن المتجهات مع الحقول الهندسية وRTREE في Milvus 2.6

الجمع بين التصفية الجغرافية المكانية والبحث عن المتجهات مع الحقول الهندسية وRTREE في Milvus 2.6

  • Engineering
December 08, 2025
Cai Zhang

مع تزايد تطبيق أنظمة الذكاء الاصطناعي في اتخاذ القرارات في الوقت الحقيقي، تزداد أهمية البيانات الجغرافية المكانية في مجموعة متزايدة من التطبيقات - خاصة تلك التي تعمل في العالم المادي أو تخدم المستخدمين في مواقع حقيقية.

فكر في منصات توصيل الطعام مثل DoorDash أو Uber Eats. عندما يقوم المستخدم بتقديم طلب، لا يقوم النظام ببساطة بحساب أقصر مسافة بين نقطتين. فهو يقوم بتقييم جودة المطعم، وتوافر شركات التوصيل، وظروف حركة المرور المباشرة، ومناطق الخدمة، وبشكل متزايد، تضمين المستخدم والعناصر التي تمثل التفضيلات الشخصية. وبالمثل، يجب أن تقوم المركبات ذاتية القيادة بتخطيط المسار، واكتشاف العوائق، والفهم الدلالي على مستوى المشهد في ظل قيود زمنية صارمة - غالباً ما تكون في غضون أجزاء من الثانية. في هذه المجالات، تعتمد القرارات الفعّالة على الجمع بين القيود المكانية والتشابه الدلالي، بدلاً من التعامل معها كخطوات مستقلة.

أما في طبقة البيانات، فقد جرت العادة أن يتم التعامل مع البيانات المكانية والدلالية بواسطة أنظمة منفصلة.

  • تم تصميم قواعد البيانات الجغرافية المكانية والامتدادات المكانية لتخزين الإحداثيات والمضلعات والعلاقات المكانية مثل الاحتواء أو المسافة.

  • تتعامل قواعد البيانات المتجهة مع التضمينات المتجهة التي تمثل المعنى الدلالي للبيانات.

عندما تحتاج التطبيقات إلى كليهما، فإنها غالبًا ما تضطر إلى خطوط أنابيب استعلام متعددة المراحل - التصفية حسب الموقع في نظام، ثم إجراء بحث متجه في نظام آخر. يزيد هذا الفصل من تعقيد النظام، ويزيد من زمن الاستعلام، ويجعل من الصعب إجراء الاستدلال المكاني الدلالي بكفاءة على نطاق واسع.

يعالجالإصدار Milvus 2.6 هذه المشكلة من خلال تقديم حقل الهندسة الذي يسمح بدمج البحث عن التشابه المتجه مباشرةً مع القيود المكانية. يتيح ذلك حالات استخدام مثل:

  • خدمة قاعدة الموقع (LBS): "العثور على نقاط مهمة متشابهة داخل هذا المربع السكني في المدينة"

  • البحث متعدد الوسائط: "استرداد الصور المتشابهة في نطاق 1 كم من هذه النقطة"

  • الخرائط والخدمات اللوجستية: "الأصول داخل منطقة ما" أو "الطرق التي تتقاطع مع مسار ما"

بالاقتران مع فهرس RTREEالجديد - وهوهيكل قائم على الشجرة مُحسَّن للتصفية المكانية - يدعم الآن برنامج ميلفوس الآن مشغلات جغرافية مكانية فعالة مثل st_contains و st_within و st_dwithin إلى جانب البحث المتجه عالي الأبعاد. إنهما معًا يجعلان الاسترجاع الذكي الواعي مكانيًا ليس ممكنًا فحسب، بل عمليًا أيضًا.

في هذا المنشور، سنستعرض كيفية عمل الحقل الهندسي وفهرس RTREE، وكيف يتحدان مع البحث عن التشابه المتجه لتمكين التطبيقات المكانية الدلالية في العالم الحقيقي.

ما هو الحقل الهندسي في ميلفوس؟

الحقل الهندسي هو نوع بيانات معرّف بالمخطط (DataType.GEOMETRY) في ميلفوس يستخدم لتخزين البيانات الهندسية. على عكس الأنظمة التي تتعامل مع الإحداثيات الخام فقط، يدعم ميلفوس مجموعة من البنى المكانية - بما في ذلك النقطة والخط والخط والمضلع.

وهذا يجعل من الممكن تمثيل مفاهيم العالم الحقيقي مثل مواقع المطاعم (نقطة)، أو مناطق التسليم (مضلع)، أو مسارات المركبات ذاتية القيادة (LineString)، وكل ذلك ضمن قاعدة البيانات نفسها التي تخزن المتجهات الدلالية. وبعبارة أخرى، يصبح ميلفوس نظامًا موحدًا لكل من مكان وجود شيء ما ومعناه.

يتم تخزين القيم الهندسية باستخدام تنسيق النص المعروف (WKT) ، وهو معيار يمكن للبشر قراءته لإدراج البيانات الهندسية والاستعلام عنها. هذا يبسط عملية إدخال البيانات والاستعلام عنها لأنه يمكن إدراج سلاسل WKT مباشرة في سجل Milvus. على سبيل المثال:

data = [
    { 
        "id": 1,
        "geo": "POINT(116.4074 39.9042)",
        "vector": vector,
    }
]

ما هو فهرس RTREE وكيف يعمل؟

بمجرد تقديم ميلفوس لنوع البيانات الهندسية، فإنه يحتاج أيضًا إلى طريقة فعالة لتصفية الكائنات المكانية. يعالج ميلفوس هذا الأمر باستخدام خط أنابيب تصفية مكاني من مرحلتين:

  • التصفية الخشنة: تضييق نطاق العناصر المرشحة بسرعة باستخدام فهارس مكانية مثل RTREE.

  • التصفية الدقيقة: تطبق فحوصات هندسية دقيقة على العناصر المرشحة المتبقية، مما يضمن صحة الحدود.

يوازن هذا التصميم بين الأداء والدقة. يعمل الفهرس المكاني على تشذيب البيانات غير ذات الصلة بقوة، بينما تضمن الفحوصات الهندسية الدقيقة نتائج صحيحة للمشغلات مثل الاحتواء والتقاطع وعتبات المسافة.

في قلب خط الأنابيب هذا يوجد RTREE (الشجرة المستطيلة)، وهي بنية فهرسة مكانية مصممة لتسريع الاستعلامات على البيانات الهندسية. تعمل RTREE من خلال تنظيم الكائنات بشكل هرمي باستخدام الحد الأدنى من المستطيلات المحدودة (MBRs)، مما يسمح بتخطي أجزاء كبيرة من مساحة البحث أثناء تنفيذ الاستعلام.

المرحلة 1: بناء فهرس المعرفة التعليمية والتربوية والبحثية بالنظام التسلسلي

تتبع عملية بناء RTREE عملية تصاعديّة من الأسفل إلى الأعلى، حيث يتم تجميع الأجسام المكانية القريبة في مناطق محدودة أكبر بشكل متزايد:

1. إنشاء العقد الورقية: بالنسبة لكل كائن هندسي، احسب الحد الأدنى للمستطيل المحيطبه (MBR) - أصغر مستطيل يحتوي على الكائن بالكامل - وخزنه كعقدة ورقية.

2. قم بالتجميع في مربعات أكبر: قم بتجميع العقد الورقية القريبة ولف كل مجموعة داخل MBR جديد، مما ينتج عنه عقد داخلية.

3. إضافة عقدة الجذر: قم بإنشاء عقدة جذر تغطي MBR الخاصة بها جميع المجموعات الداخلية، مما يشكل بنية شجرة متوازنة الارتفاع.

المرحلة 2: تسريع الاستعلامات

1. تشكيل MBR الاستعلام: احسب MBR للهندسة المستخدمة في استعلامك.

2. تشذيب الفروع: بدءًا من الجذر، قارن MBR الاستعلام مع كل عقدة داخلية. تخطي أي فرع لا يتقاطع MBR مع MBR الاستعلام.

3. جمع الفروع المرشحة: النزول إلى الفروع المتقاطعة وجمع العقد الورقية المرشحة.

4. إجراء مطابقة دقيقة: لكل مرشح، قم بتشغيل المسند المكاني للحصول على نتائج دقيقة.

لماذا تعتبر RTREE سريعة

توفر RTREE أداءً قويًا في التصفية المكانية بسبب العديد من ميزات التصميم الرئيسية:

  • تقوم كل عقدة بتخزين MBR: تقوم كل عقدة بتقريب مساحة جميع الأشكال الهندسية في شجرتها الفرعية. وهذا يجعل من السهل تحديد ما إذا كان ينبغي استكشاف فرع ما أثناء الاستعلام.

  • تشذيب سريع: يتم فقط استكشاف الشجرات الفرعية التي يتقاطع MBR الخاص بها مع منطقة الاستعلام. يتم تجاهل المناطق غير ذات الصلة تمامًا.

  • يتناسب حجمها مع حجم البيانات: تدعم RTREE عمليات البحث المكانية في زمن O(log N) ، مما يتيح إجراء استعلامات سريعة حتى مع توسع مجموعة البيانات.

  • تطبيق Boost.Geometry: Milvus builds its RTREE index using Boost.Geometry, a widely used C++ library that provides optimized geometry algorithms and a thread-safe RTREE implementation suitable for concurrent workloads.

مشغلات الهندسة المدعومة

يوفر Milvus مجموعة من المشغلات المكانية التي تسمح لك بتصفية الكيانات واسترجاعها بناءً على العلاقات الهندسية. هذه المشغلات ضرورية لأحمال العمل التي تحتاج إلى فهم كيفية ارتباط الكائنات ببعضها البعض في الفضاء.

يسرد الجدول التالي قائمة بالمشغلات الهندسية المتوفرة حالياً في ميلفوس.

المشغلالوصف
st_intersects(أ، ب)ترجع TRUE إذا كان الشكلان الهندسيان A و B يشتركان في نقطة مشتركة واحدة على الأقل.
st_contains(A, B)تُرجع TRUE إذا كان الشكل الهندسي A يحتوي تماماً على الشكل الهندسي B (باستثناء الحدود).
st_within(A، B)تُرجع TRUE إذا كان الشكل الهندسي A يحتوي بالكامل على الشكل الهندسي B. هذا هو معكوس st_contains(A, B).
st_يغطي(A، B)تُرجع TRUE إذا كان الشكل الهندسي A يغطي الشكل الهندسي B (بما في ذلك الحدود).
st_touches(A، B)تُرجع TRUE إذا كان الشكلان الهندسيان A و B يتلامسان عند حدودهما لكنهما لا يتقاطعان داخلياً.
st_equals(A, B)تُرجع TRUE إذا كان الشكلان الهندسيان A و B متطابقين مكانيًا.
st_overlaps(A، B)تُرجع TRUE إذا كان الشكلان الهندسيان A وB متداخلين جزئياً ولا يحتوي أحدهما على الآخر بالكامل.
st_dwithin(A، B، d)تُرجع TRUE إذا كانت المسافة بين A وB أقل من d.

كيفية الجمع بين فهرس الموقع الجغرافي وفهرس المتجهات

من خلال دعم الهندسة وفهرس RTREE، يمكن لـ Milvus الجمع بين التصفية الجغرافية المكانية والبحث عن التشابه المتجه في سير عمل واحد. تعمل العملية في خطوتين:

1. التصفية حسب الموقع باستخدام فهرس RTREE: يستخدم Milvus أولاً فهرس RTREE لتضييق نطاق البحث إلى الكيانات ضمن النطاق الجغرافي المحدد (على سبيل المثال، "ضمن 2 كم").

2. الترتيب حسب الدلالات باستخدام البحث المتجه: من المرشحين المتبقين، يختار الفهرس المتجه النتائج الأكثر تشابهًا من بين أعلى N بناءً على تشابه التضمين.

حالات الاستخدام في العالم الحقيقي لاسترجاع المتجهات الجغرافية

1. خدمات التوصيل: توصيات أكثر ذكاءً وإدراكاً للموقع

تتعامل منصات مثل DoorDash أو Uber Eats مع مئات الملايين من الطلبات كل يوم. في اللحظة التي يفتح فيها المستخدم التطبيق، يجب أن يحدد النظام - بناءً على موقع المستخدم، والوقت من اليوم، وتفضيلات الذوق، وأوقات التسليم المقدرة، وحركة المرور في الوقت الفعلي، وتوافر شركات التوصيل - أي المطاعم أو شركات التوصيل هي الأفضل في الوقت الحالي.

تقليدياً، يتطلب هذا الأمر الاستعلام عن قاعدة بيانات جغرافية مكانية ومحرك توصية منفصل، تليها جولات متعددة من التصفية وإعادة الترتيب. مع فهرس تحديد الموقع الجغرافي، يبسِّط Milvus سير العمل هذا إلى حد كبير:

  • التخزين الموحّد - إحداثيات المطعم، ومواقع البريد السريع، وتفضيلات المستخدم المضمّنة جميعها في نظام واحد.

  • الاسترجاع المشترك - قم أولاً بتطبيق مرشح مكاني (على سبيل المثال، المطاعم في نطاق 3 كم)، ثم استخدم البحث المتجه للترتيب حسب التشابه أو تفضيل الذوق أو الجودة.

  • اتخاذ القرار الديناميكي - الجمع بين توزيع السعاة في الوقت الفعلي وإشارات المرور لتعيين أقرب ساعي وأنسب ساعي بسرعة.

يسمح هذا النهج الموحّد للمنصة بإجراء الاستدلال المكاني والدلالي في استعلام واحد. على سبيل المثال، عندما يبحث المستخدم عن "أرز بالكاري"، تسترجع Milvus المطاعم ذات الصلة من الناحية الدلالية وتعطي الأولوية للمطاعم القريبة من المستخدم، والتي تقوم بالتوصيل بسرعة، وتتطابق مع ذوقه التاريخي.

2. القيادة الذاتية: قرارات أكثر ذكاءً

في القيادة الذاتية، تُعدّ الفهرسة الجغرافية المكانية أمراً أساسياً في القيادة الذاتية الإدراك وتحديد المواقع واتخاذ القرارات. يجب على المركبات مواءمة نفسها باستمرار مع الخرائط عالية الوضوح واكتشاف العوائق وتخطيط المسارات الآمنة - كل ذلك في غضون بضعة أجزاء من الثانية.

باستخدام Milvus، يمكن لنوع Geometry وفهرس RTREE تخزين البنى المكانية الغنية والاستعلام عنها مثل:

  • حدود الطريق (سلسلة خطية)

  • مناطق تنظيم حركة المرور (مضلع)

  • العوائق المكتشفة (نقطة)

يمكن فهرسة هذه الهياكل بكفاءة، مما يسمح للبيانات الجغرافية المكانية بالمشاركة مباشرةً في حلقة قرار الذكاء الاصطناعي. على سبيل المثال، يمكن لمركبة ذاتية القيادة أن تحدد بسرعة ما إذا كانت إحداثياتها الحالية تقع ضمن حارة معينة أو تتقاطع مع منطقة محظورة، وذلك ببساطة من خلال مسند مكاني من RTREE.

عند دمجها مع التضمينات المتجهة التي تم إنشاؤها بواسطة نظام الإدراك - مثل تضمينات المشهد التي تلتقط بيئة القيادة الحالية - يمكن أن يدعم برنامج ميلفوس استعلامات أكثر تقدماً، مثل استرجاع سيناريوهات القيادة التاريخية المشابهة للسيناريو الحالي ضمن دائرة نصف قطرها 50 متراً. وهذا يساعد النماذج على تفسير البيئة بشكل أسرع واتخاذ قرارات أفضل.

الخلاصة

تحديد الموقع الجغرافي أكثر من مجرد خطوط الطول والعرض. في التطبيقات الحساسة للموقع، فهي توفر سياقًا أساسيًا حول مكان وقوع الأحداث، وكيفية ارتباط الكيانات مكانيًا، وكيف تشكل هذه العلاقات سلوك النظام. عند دمجها مع إشارات دلالية من نماذج التعلم الآلي، تتيح البيانات الجغرافية المكانية فئة أكثر ثراءً من الاستعلامات التي يصعب التعبير عنها - أو لا يمكن تنفيذها بكفاءة - عندما يتم التعامل مع البيانات المكانية والمتجهة بشكل منفصل.

مع تقديم حقل الهندسة وفهرس RTREE، يجلب Milvus البحث عن التشابه المتجه والتصفية المكانية في محرك استعلام واحد. يتيح ذلك للتطبيقات إجراء استرجاع مشترك عبر المتجهات والبيانات الجغرافية المكانية والوقت، مما يدعم حالات الاستخدام مثل أنظمة التوصيات الواعية مكانيًا، والبحث متعدد الوسائط المستند إلى الموقع، والتحليلات المقيدة بالمنطقة أو المسار. والأهم من ذلك أنها تقلل من التعقيد المعماري من خلال التخلص من خطوط الأنابيب متعددة المراحل التي تنقل البيانات بين الأنظمة المتخصصة.

مع استمرار أنظمة الذكاء الاصطناعي في الاقتراب من عملية صنع القرار في العالم الحقيقي، سيحتاج فهم المحتوى ذي الصلة إلى الاقتران بشكل متزايد بمكان تطبيقه ومتى يكون مهمًا. يوفر Milvus اللبنات الأساسية لهذه الفئة من أعباء العمل المكانية الدلالية بطريقة معبرة وعملية للعمل على نطاق واسع.

لمزيد من المعلومات حول الحقل الهندسي وفهرس RTREE، راجع الوثائق أدناه:

هل لديك أسئلة أو تريد التعمق في أي ميزة من أحدث إصدار من ميلفوس؟ انضم إلى قناة Discord الخاصة بنا أو قم بتسجيل المشكلات على GitHub. يمكنك أيضًا حجز جلسة فردية مدتها 20 دقيقة للحصول على رؤى وإرشادات وإجابات لأسئلتك من خلال ساعات عمل Milvus المكتبية.

تعرف على المزيد حول ميزات Milvus 2.6

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    استمر في القراءة