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

تفصل البطاقات الأربع بين الحل والاكتشاف والتصفية الجغرافية ومطابقة المعنى. وتقترن في كل بطاقة مدخلات بمخرجات: عنوان بإحداثي، وفئة بنقاط اهتمام، وعلاقة هندسية بسجلات مطابقة، ومفهوم بجيران دلاليين. عنوان الشارع والإحداثي واستعلام المقهى وعدد الأماكن داخل المضلع كلها تسميات توضيحية في الشكل. وليست هذه التسميات نتيجة استعلام حي على فهرس Kaleidr.
الجدول هو قاعدة الاختيار. الفريق الذي يبدأ من اسم الـ endpoint بدلًا من السؤال سيطلب من geocoder توصية، أو من فهرس متجهي اختبار احتواء. كلا الخطأين ينتج إجابة واثقة لسؤال لم ينفذه النظام أصلًا. ويحافظ باقي هذا الدليل على فصل المهام الأربع ثم يوضح موضع جمعها داخل pipeline.
أي استعلام يناسب السؤال؟
غالبًا ما تحدد الكلمات الأولى في الطلب الأسلوب. يبدأ سؤال «أين يقع هذا العنوان؟» بالترميز الجغرافي. ويبدأ سؤال «ما الأماكن التي تطابق هذا النص أو هذه الفئة؟» بالبحث عن الأماكن. ويبدأ سؤال «أي من سجلاتنا يستوفي هذه العلاقة الجغرافية؟» باستعلام مكاني. أما «أي السجلات يحمل معنى شبيهًا بهذا؟» فهو حالة للبحث المتجهي، ولكن فقط بعد فرض الحدود الجغرافية وحدود الأعمال الصارمة. الطلب الذي يمزج هذه الأسئلة يحتاج إلى نهج هجين، لا إلى فائز واحد.
| السؤال | ابدأ من هنا |
|---|---|
| أين يقع هذا العنوان، أو ما العنوان عند هذا الإحداثي؟ | الترميز الجغرافي، بما في ذلك الترميز الجغرافي العكسي |
| ما الأماكن المسماة التي تطابق هذا النص أو الفئة أو نية البحث القريب؟ | البحث عن الأماكن |
| أي من سجلاتنا يقع ضمن هذه المسافة أو هذا المضلع أو الممر؟ | استعلام مكاني |
| ما الأوصاف المشابهة لهذه العبارة؟ | البحث المتجهي، داخل مجموعة مؤهلة |
| أي مكان معتمد يحتوي على العنصر ويضيف انحرافًا قليلًا؟ | مرشحات الأعمال، ثم مكاني أو routing، ثم الترتيب |

تبدأ الشجرة بالسؤال الذي يحاول المتصل الإجابة عنه، ثم تتفرع إلى حل عنوان واحد أو اكتشاف الشركات أو تصفية سجلات المتصل نفسه جغرافيًا أو العثور على سجلات ذات معنى مشابه. ويجمع شريط خامس في الأسفل الأساليب الأربعة عندما لا يكفي استعلام واحد. العنوان النموذجي وبطاقات المقاهي ونطاق الكيلومتر الواحد وعبارة موعد اللقاء المقتبسة كلها تسميات في الشكل. وتصف علامات الاختيار وظيفة كل أسلوب، لا درجة جودة مقاسة.
النهج الهجين هو الحالة المعتادة لمساعد خرائط يعمل بالذكاء الاصطناعي، وليس استثناءً مؤجلًا لإصدار لاحق. لا يزال طلب «قهوة قرب 20 W 34th St» يحتاج إلى حل العنوان قبل تشغيل بحث قريب. ويضيف طلب «مقهى هادئ قرب الفندق، مفتوح بعد التاسعة» مرشح أعمال وتفضيلًا دلاليًا فوق ذلك الحل. وتحافظ أقسام الـ pipeline أدناه على هذه الخطوات بترتيب يمكن للمراجع اختباره.
ما الذي يحله الترميز الجغرافي؟
يحوّل الترميز الجغرافي وصفًا نصيًا للموقع إلى تمثيل جغرافي، ويحوّل الترميز الجغرافي العكسي إحداثيًا أو معرّف مكان إلى عنوان مقروء. وتعرّف نظرة Google العامة إلى Geocoding API الخدمة بأنها تقبل عنوانًا أو خط عرض وخط طول أو Place ID، وتحول العنوان إلى إحداثيات وPlace ID، أو تحول الإحداثيات أو Place ID إلى عنوان (Google, 2026). وتستخدم النظرة نفسها «1600 Amphitheatre Parkway, Mountain View, CA» مثالًا للترميز الجغرافي الأمامي، وتذكر التسليم والاستلام ضمن استخدامات الترميز الجغرافي العكسي. ناتج الاستدعاء الناجح هو موضوع تستطيع الخريطة وضعه، وليس مجموعة مرتبة من الشركات.
تتحرك حدود المنتج، لكن مهمة الاسترجاع ما تزال هي الشيء الذي ينبغي تسميته. تسرد نظرة Google العامة إلى Geocoding API v4 الترميز الجغرافي الأمامي والعكسي وترميز الأماكن وطريقة destination search تقبل عنوانًا أو Place ID أو إحداثيات (Google, 2026). كما تفصل بين قنوات generally available وpreview وexperimental، وتطلب من المتصلين استخدام القناة التجريبية لميزات الوجهة غير الموجودة في المسار المتاح عمومًا. يمكن لعملية destination lookup إثراء موقع سبق أن حله التطبيق. لكنها لا تتحول إلى فهرس لاكتشاف الأماكن، كما أن القناة التجريبية ليست وعدًا بأن كل حقل جاهز لعقد إنتاج.
الترميز الجغرافي هو الأداة المناسبة عندما يحتاج التطبيق إلى رسم عنوان أو توحيده قبل التخزين أو توسيط الخريطة أو إجراء ترميز جغرافي عكسي لموقع جهاز أو حل نقطة تسليم قبل استعلام لاحق. لا يختار الترميز الجغرافي أفضل مطعم قريب، ولا يقرأ مخزونًا خاصًا، ولا يختبر مضلع منطقة خدمة خاصة، ولا يرتب النتائج حسب نية العميل. تبدأ هذه المهام فقط بعد وجود موضوع جغرافي. يشرح رسم الأماكن على الخريطة خطوة الانتقال من العنوان إلى العلامة بعد نجاح الحل.
كيف يختلف الترميز الجغرافي مقابل البحث عن الأماكن؟
يكتشف البحث عن الأماكن كيانات جغرافية مسماة: مطاعم ومتاجر ومحطات ومعالم ونقاط اهتمام أخرى. وترسم Mapbox حدود المنتج بوضوح في Geocoding API الحالية. تنفذ تلك الـ API الترميز الجغرافي الأمامي والعكسي، ولم تعد Geocoding v6 API توفر بيانات نقاط الاهتمام (Mapbox, 2026). وتوجه Mapbox البحث عن نقاط الاهتمام إلى Search Box API، التي تدعم الاستعلامات التفاعلية والمستقلة للعناوين والأماكن ونقاط الاهتمام، بما في ذلك البحث حسب الفئة (Mapbox, 2026). عائلة الـ endpoints تخص مزودًا واحدًا. أما المهمتان فتظلان منفصلتين.
تفصل Places API الحالية من Google بالطريقة نفسها داخل البحث عن الأماكن. يعيد Text Search (New) أماكن لعبارة نصية، وتتضمن الأمثلة الموثقة «shoe stores near Ottawa» و«123 Main Street»، لذلك يمكن لعبارة على هيئة عنوان أن تدخل استدعاء بحث عن الأماكن (Google, 2026). أما Nearby Search (New) فتأخذ نوعًا واحدًا أو أكثر من أنواع الأماكن وتعيد أماكن مطابقة داخل منطقة محددة (Google, 2026). لذلك قد يبدو Text Search شبيهًا بالترميز الجغرافي عندما تكون العبارة عنوانًا، وقد يبدو Nearby Search شبيهًا باستعلام مكاني عندما تكون المنطقة دائرة. لكن الناتج يظل مجموعة مرشحين من فهرس ذلك المزود. حالة الفتح والمخزون والتفويض ووقت الرحلة تبقى اختبارات لاحقة. وتذكر صفحة Text Search نفسها أيضًا أن الخدمة ليست مخصصة للاستعلامات الملتبسة، ومنها صيغ العناوين البريدية غير الممثلة كأماكن.

يسأل الجانب الأيسر أين يقع عنوان واحد ويعرض هوية موقع واحدة. ويتطابق العنوان والإحداثي في ذلك الجانب مع المثال في مرجع forward geocode الخاص بـ Kaleidr، بينما أسماء المقاهي والمسافات وتقييمات النجوم في الجانب الأيمن تسميات نموذجية وليست استجابة حية لبحث عن الأماكن. ويقود التذييل عبارة «coffee near 20 W 34th St» عبر ترميز العنوان أولًا ثم البحث عن القهوة. وتصف الخلاصة في اليمين الناتج بأنه مجموعة مرشحين، وهو موضع التوقف الصحيح قبل الأهلية والترتيب.
| الترميز الجغرافي | البحث عن الأماكن | |
|---|---|---|
| المهمة الأساسية | حل موقع واحد | اكتشاف أماكن مرشحة |
| المدخل الشائع | عنوان، إحداثي، معرّف مكان | نص، فئة، منطقة قريبة |
| المخرج الشائع | تفسير واحد أو عدة تفسيرات لذلك الموقع | قائمة مرشحين مرتبة من فهرس |
| الخطوة التالية | خريطة، استعلام مكاني، أو route | تصفية أو إثراء أو ترتيب أو routing |
| مخزون خاص | لا | لا |
يستخدم التطبيق المتين الاثنين عندما تكون نقطة الارتكاز عنوانًا والهدف فئة. قم بترميز «20 W 34th St»، ثم ابحث عن القهوة قرب النقطة المحلولة، ثم احسب زمن المشي ورتب فقط الأماكن التي تظل مؤهلة. تشكل خريطة الأماكن القريبة سطح الاكتشاف لتلك الخطوة الثانية. ترتيب المزود مجرد تسهيل للاسترجاع. أما ترتيب المنتج فهو قرار لاحق.
ما الذي يختبره الاستعلام المكاني؟
يرشح الاستعلام المكاني سجلات يمتلكها التطبيق بالفعل باستخدام علاقة بين الأشكال الهندسية. تشمل العلاقات الشائعة: ضمن مسافة، داخل مضلع، يتقاطع، يحتوي، وأقرب جار. تكون السجلات وهندستها موجودة قبل الاستعلام. ويسأل الاستعلام أي هذه السجلات يستوفي العلاقة. أما API للبحث عن الأماكن فتجيب عن سؤال مختلف، لأن مجموعة المرشحين تأتي من فهرس المزود لا من جدول المتصل.

تعرض اللوحات ضمن مسافة، وداخل مضلع، ومسارًا يتقاطع مع منطقة، وأقرب عنصر. نطاق الكيلومتر الواحد وحدود منطقة الخدمة وشارة المسافة كلها هندسة نموذجية وليست منطقة خدمة مقاسة. وتضع لوحة الأقرب علامة على عنصر واحد بوصفه مستبعدًا. ذلك الاستبعاد مثال على فحص أهلية لاحق. ولا يختبر شرط المسافة وحده ما إذا كان المكان مفتوحًا.
تعرّف PostGIS الدالة ST_DWithin بأنها اختبار لما إذا كانت هندستان تقعان ضمن مسافة معينة، ويتضمن الاستدعاء مقارنة bounding box تستخدم أي فهارس مكانية متاحة على الهندسات (PostGIS, 2026). بالنسبة إلى نوع geography تكون المسافة بالمتر. لذلك يستطيع جدول متاجر يحتوي عمود geography الاحتفاظ بعبارة «ضمن خمسة كيلومترات» كشرط منطقي، بدلًا من جملة يُطلب من نموذج لغوي تفسيرها.
SELECT store_id, name
FROM stores
WHERE ST_DWithin(stores.geog, user_location, 5000);
الاحتواء من الفئة نفسها من الشروط. تعيد ST_Within القيمة true عندما تقع كل نقطة من الهندسة الأولى داخل الثانية وتشترك الأجزاء الداخلية في نقطة، وتستخدم الدالة كذلك الفهارس المكانية المتاحة (PostGIS, 2026). تمثل ST_Within(A, B) عكس ST_Contains(B, A). سؤال تسليم مثل «هل يقع هذا العنوان داخل منطقة الخدمة؟» يعني ترميزًا جغرافيًا ثم اختبار احتواء ثم قاعدة التشغيل. لا يستبدل الفهرس المتجهي المضلع، كما لا يستبدل البحث العام عن الأماكن هندسة منطقة الخدمة التي رسمتها الشركة.
ملاحظة الفهرس قيد معماري وليست حاشية تحسين. تعبير مسافة لا يستطيع استخدام فهرس سيقارن صفوفًا أكثر بكثير من ST_DWithin على الجدول نفسه. القاعدة العملية لمساعد مدرك للموقع هي التصفية جغرافيًا قبل أن يرى أي نموذج المجموعة. إذا لم يكن سوى جزء صغير من كتالوج كبير قادرًا على استيفاء الهندسة، فينبغي أن يتلقى نموذج اللغة ذلك الجزء مع سبب إسقاط البقية. إرسال البقية يهدر السياق على سجلات سبق أن استبعدها الشرط.
ما الذي يطابقه البحث المتجهي؟
يسترجع البحث المتجهي سجلات تكون embeddings الخاصة بها قريبة من الاستعلام في فضاء متجهي. ينفذ pgvector، وهو امتداد Postgres شائع لهذه المهمة، بحث أقرب الجيران الدقيق افتراضيًا، ويمكنه إضافة فهرس HNSW أو IVFFlat للبحث التقريبي (pgvector, 2026). وتسرد الوثائق نفسها مسافة L2 والـ inner product ومسافة cosine ومقاييس أخرى. البحث الدقيق هو خط أساس الـ recall. ويقايض الفهرس التقريبي جزءًا من ذلك الـ recall بالسرعة، وقد تعيد الاستعلامات جيرانًا مختلفين بعد وجود الفهرس. وتهم هذه الخاصية عندما يقارن فريق prototype استخدم البحث الدقيق باستعلام إنتاج يستخدم الفهرس.
يستحق البحث المتجهي تكلفته عندما لا تكون كلمات الطلب هي الكلمات الموجودة في السجل. وصف يقول «بار نبيذ حميم بإضاءة خافتة» يمكن أن يكون جارًا مفيدًا لعبارة «مكان هادئ لاجتماع أول»، حتى لو لم تتطابق السلاسل النصية. أوصاف الأماكن وملاحظات المرافق ونصوص الوجهات هي المدخلات المعتادة عندما تسمح الرخصة بتحويل النص إلى embeddings. أما العلامة التجارية المعروفة أو رقم المتجر أو رمز المطار أو الفئة الصريحة فهي غالبًا أنسب للبحث بالكلمات المفتاحية أو البحث المنظم. تضيف embeddings نظامًا يجب تشغيله، وينبغي إضافتها عندما تكون الفجوة الدلالية حقيقية.
لا تسجل مشابهة المتجهات المسافة الجغرافية أو زمن الطريق أو الاحتواء داخل منطقة الخدمة أو المخزون الحالي أو ساعات العمل أو التفويض أو ما إذا كان النص المضمن ما يزال صحيحًا. قد يقع جار قريب في فضاء embeddings على بعد مئات الأميال من المتصل. وقد يكون مكان عبر الشارع تطابقًا دلاليًا ضعيفًا لكنه يظل الإجابة التشغيلية الصحيحة. النتيجتان لا تتعارضان؛ فهما تأتيان من فضاءين مختلفين، وعلى الـ pipeline تحديد أي فضاء يسمح له برفض مرشح.
لماذا تختلف المسافة الجغرافية عن المسافة المتجهية؟
يستخدم النظامان كلمة «المسافة»، لكن الكلمة تخفي تغير موضوع القياس. المسافة الجغرافية هي الفصل على سطح الأرض أو على طول مسار: خط مستقيم أو مشي أو قيادة أو نتيجة احتواء. أما المسافة المتجهية فهي الفصل في فضاء embeddings: مسافة cosine أو المسافة الإقليدية أو درجة inner product. صغر المسافة المتجهية لا يجعل موقعين قريبين جغرافيًا. وقصر المشي لا يجعل وصفين يعنيان الشيء نفسه.

تقيس اللوحة اليسرى الفصل الفيزيائي وتعرض مسار مشي نموذجي بين مكانين مسميين. شارات الكيلومترات والدقائق تسميات نموذجية وليست رحلة محسوبة بالـ routing. وتضع اللوحة اليمنى كلمات في مخطط embeddings وتوضح أن coffee بعيدة في المعنى عن train. إشارة cosine مثال على الفضاءين وليست embedding مقاسة من فهرس Kaleidr. وتلخص التسمية الوسطى فكرة الشكل: الكلمة نفسها «مسافة» تطلق على الكميتين.
يظهر تصادم التسمية في نص المنتج أيضًا. شاشة تقول «الأقرب» قد تعني الأقرب في فهرس embeddings، أو الأقرب بالأمتار بخط مستقيم، أو أقل دقائق انحراف عن المسار. تختلف هذه الترتيبات الثلاثة بما يكفي لضرورة أن تسمي الواجهة الكمية المقصودة. يمكن للـ ranker استخدام أكثر من واحدة منها، لكن لا ينبغي أن يجمع درجة cosine مع قيمة بالكيلومترات ويتعامل مع المجموع كمسافة واحدة.
كيف ينبغي أن يرتب pipeline هجين العمل؟
يكون البحث عن موقع في الإنتاج عادة pipeline لأن الطلب يمزج موضوعًا وفئة وحدًا جغرافيًا وقاعدة أعمال وتفضيلًا. ترتيب عملي هو تفسير الطلب، وحل نقطة الارتكاز، واسترجاع المرشحين، وتطبيق المرشح المكاني، وتطبيق أهلية الأعمال، ثم استخدام التشابه الدلالي فقط داخل المجموعة المؤهلة. يعمل الـ routing وأي إثراء آخر على الناجين. ويرتب الـ ranking هؤلاء الناجين. وتستخدم الشروحات وإجراءات الخريطة المعرفات نفسها التي استخدمتها المرشحات. هندسة السياق المكاني هي السؤال المكمل حول ما يسمح له من هذا الـ pipeline بالوصول إلى نموذج اللغة.

تُسمى المراحل بحسب الأسلوب المسؤول عن كل منها: الترميز الجغرافي والبحث عن الأماكن والاستعلام المكاني وبيانات الأعمال والبحث المتجهي، ثم الإثراء والترتيب وإجراء الخريطة. أسماء الأماكن وتقييمات النجوم وأشرطة الدرجات وقمع «100K+» وعبارة «top 3–5» كلها تسميات توضيحية. الشكل رسم مرجعي لترتيب العمل، وليس benchmark من Kaleidr ولا صيغة request. ويعرض عمود مرشحات الأعمال قواعد نموذجية مثل «مفتوح الآن» وحد أدنى للتقييم؛ وهذه تنتمي إلى بيانات الـ host لا إلى فهرس الأماكن العام.
يغير الترتيب الـ recall. قد يؤدي البحث في كامل فهرس embeddings أولًا ثم اختبار الجغرافيا على قائمة دلالية قصيرة إلى فقدان مكان محلي صالح لم يدخل تلك القائمة أصلًا. أما تقييد مجموعة المرشحين أولًا بالحدود الجغرافية وقواعد الأعمال الصارمة، ثم ترتيب المعنى داخل تلك المجموعة، فيحافظ على الحد. وحيث تستطيع قاعدة البيانات تطبيق المرشحين في استعلام واحد يظل المبدأ نفسه: لا يحق للتشابه الدلالي محو حد جغرافي مطلوب.
ملاحظات pgvector عن filtering هي التحذير العملي. مع فهرس تقريبي، يطبق المرشح بعد index scan، ويستخدم مثال الوثائق شرطًا يطابق 10 بالمئة من الصفوف عند القيمة الافتراضية HNSW ef_search وهي 40، فيترك في المتوسط نحو أربعة صفوف. وتستمر iterative index scans التي تقدمها الوثائق لهذا النقص حتى يبقى عدد كاف من الصفوف. ينبغي للفريق اختبار filtered recall على بيانات واقعية بدل افتراض أن الاستعلام الأنيق هو استعلام الإنتاج.
لماذا يجب تشغيل المرشحات الصارمة قبل التشابه؟
يسأل الاسترجاع أي المرشحين يجوز لهم دخول دائرة النظر. ويسأل الترتيب بأي ترتيب يجب أن يظهر المرشحون الصالحون. خلط الاثنين يسمح لمكان مغلق أو غير مفوض أو نفد مخزونه بالفوز لأنه ملائم أو قريب دلاليًا. يحتفظ دليل Kaleidr لترتيب الأماكن بالتفويض والتوفر والقدرة المطلوبة ومنطقة الخدمة كمرشحات قبل scoring بدل تحويلها إلى عقوبات ضعيفة (Kaleidr, 2026). قد تخسر العقوبة أمام عامل ملاءمة كبير. أما المرشح فلا.

يسرد العمود الأيسر أربع بوابات boolean وينتهي بإزالة المرشحين غير الصالحين. ويعرض العمود الأيمن درجات تشابه نموذجية لـهادئ ومناسب للعائلات ومناسب للعمل، ويرتب فقط الأماكن التي اجتازت البوابات. الصور والدرجات الثلاث تسميات نموذجية، وليست تقييمات مقاسة ولا درجة من Kaleidr. ويبين السهم الترتيب: الأهلية ثم التشابه.
تبقى البوابات الصارمة قيمًا منطقية. مفوض، متوفر في المخزون، مفتوح عند الوصول، وداخل منطقة الخدمة هي شروط وليست أوزانًا. يمكن للإشارات الدلالية أن تبقى درجات وتطبق على الأماكن التي أبقتها البوابات. وينطبق الفصل نفسه على قاعدة وصول مطلوبة أو حد tenant. إذا كانت حقيقة مطلوبة مجهولة، فيجب أن تبقى مجهولة. تحويل lookup غير متاح إلى false يحول قراءة مخزون مفقودة إلى «نفد المخزون» واثقة، وهو خطأ مختلف وأسوأ.
لماذا لا يكون البحث «على الطريق» مجرد نصف قطر؟
«قريب مني» و«في طريقي إلى المنزل» يصفان هندستين مختلفتين. يعيد نصف القطر حول الأصل أماكن ضمن مسافة من نقطة البداية، بما في ذلك أماكن تقع في الاتجاه الخاطئ. أما استعلام route corridor فيعيد أماكن تضيف انحرافًا قليلًا إلى رحلة خططها بالفعل نظام routing. المسافة بخط مستقيم مرشح مشروع عندما يكون السؤال شعاعيًا فعلًا. لكنها الكمية الخاطئة عندما يعتمد القرار على الرحلة. قد يكون كيلومتران بخط مستقيم رحلة قيادة طويلة، وقد تكون مسافة مستقيمة أطول هي الرحلة الأقصر.

تعرض اللوحة اليسرى نصف قطر بسيطًا وصيدليات نموذجية داخل حلقة ميل واحد وخارجها. وتتبع اللوحة اليمنى مسارًا نموذجيًا من العمل إلى المنزل وتضع على الصيدليات دقائق انحراف. قيم الأميال ودقائق الانحراف وأسماء الأماكن تسميات نموذجية وليست route حية. فكرة الشكل هي العلاقة: انخفاض انحراف المسار ليس الشرط نفسه لدائرة حول نقطة الأصل.
ينبغي لخدمة routing أن تحسب الانحراف، وعلى الـ ranker استلام تلك النتيجة. نموذج لغة يقدّر الدقائق سيخالف أحيانًا المسار الذي أعادته الخدمة للتو. يأتي استدعاء route بعد الحل وبعد اختيار المرشحين. واستدعاء route ليس بحثًا عن الأماكن، وينبغي أن يبقى غياب المسار فشلًا ظاهرًا بدل خط مرسوم بالتخمين على الخريطة.
أين تقع Kaleidr في هذا الـ pipeline؟
تعرض Platform API العامة من Kaleidr endpoint للـ forward geocode مصممًا لصندوق بحث أو حقل From/To، لا لفهرس أعمال خاص. يقبل GET /retrieval/geocode/forward القيمة q كاسم مكان أو عنوان شارع برقم منزل أو خط عرض وخط طول مكتوبين، إلى جانب near_lat وnear_lng اختياريين يستخدمان معًا، وlimit وmode للسفر (Kaleidr, 2026). ويوثق المرجع نفسه route بين إحداثيات يمتلكها المتصل بالفعل، مع ملفات للقيادة والمشي والدراجات والنقل العام، وإذا تعذر تخطيط route فإنها تعود بحالة HTTP ناجحة مع خطأ داخل body بدل مسار. وتحمل النتائج attribution يجب على المتصل تمريرها، وقد تتضمن نتيجة عنوان شارع معرّفًا يبقى ثابتًا عبر تحديثات البيانات. وتعني قائمة results الفارغة أنه لا يوجد ما يعرض، حتى في حالة فشل lookup داخلي؛ لذلك لا تثبت القائمة الفارغة أن العنوان غير صالح.
لا تتضمن المعلمات الموثقة كتالوج العميل الخاص. ولا يصبح الترميز الجغرافي العام نظام مخزون لمجرد تركيبه على الخريطة نفسها. المتصل الذي يحتاج إلى متاجر خاصة أو مخزون يجب أن يقرأ تلك الأنظمة مباشرة ثم يربطها بالمكان المحلول باستخدام معرّف ثابت. استجابة geocode هي الموضوع العام، وسجل الأعمال يبقى سجل الأعمال.
لتفاصيل المكان بديل حالي، ولا ينبغي أن يكون المسار القديم أساس تكامل جديد. يضع مرجع الـ endpoints علامة deprecated على GET /retrieval/poi/enrich ويوجه العمل الجديد إلى POST /spot، الذي يجيب عما يوجد عند نقطة ويمكن أن يضيف محتوى وصفيًا وصورًا. ويمكن إزالة المسار deprecated بعد 2027-01-15.
ولا يزال الإثراء لا يقرر الأهلية الخاصة. ساعات العمل والصور والفئة من مصدر عام حقائق عامة، مع attribution التي يتطلبها ذلك المصدر. أما المخزون وإذن الحساب ومنطقة الخدمة التي رسمها العميل فتبقى في الأنظمة المالكة لها. يشرح Spatial AI المرتكز على بيانات الأعمال هذه الحدود.

يفصل العمود الأيسر العناوين والأماكن المسماة عن المتاجر الخاصة والمخزون ومناطق الخدمة. ويسمي العمود الأوسط Kaleidr forward geocoding وخطوة تفاصيل مكان وقاعدة البيانات المكانية وأنظمة الأعمال الخاصة بالـ host. صندوق تفاصيل المكان هو المهمة الموثقة الآن باسم POST /spot. أما endpoint القديم enrich فهو السابق deprecated، وليس التكامل الذي ينبغي البدء به. ويعرض العمود الأيمن ما يحدث بعد الاسترجاع: route بين إحداثيات معروفة، وترتيب للأماكن المؤهلة، وشرح، وإجراء على الخريطة. التحذير في الشكل يطابق مرجع الـ endpoints. ولا تقوم API عامة للـ geocode أو الأماكن بفهرسة مواقع المتصل الخاصة أو مخزونه أو مناطق خدمته.
تتبع البيانات الخاصة بالمؤسسة حد الخطة، لا الخريطة. تنص وثائق حساب Kaleidr على أن رفع بيانات الأعمال الخاصة بالمؤسسة لإجابات الذكاء الاصطناعي متاح في Enterprise فقط، وأن key scope الذي يسمح للإجابات بالاعتماد على تلك البيانات المرفوعة متاح في Enterprise فقط أيضًا (Kaleidr, 2026). لا يوثق مرجع الـ endpoints العام الحالي endpoint عامًا للبحث المتجهي. الفريق الذي يحتاج إلى استرجاع دلالي فوق أوصافه الخاصة يجب أن يتعامل مع ذلك الفهرس كجزء من تصميم الـ host أو Enterprise، وأن يؤكد العقد الحالي بدل استدعاء مسار لا يستشهد به هذا المقال. يشرح كيفية بناء مساعد ذكاء اصطناعي مدرك للخريطة إجراءات الخريطة التي تتبع معرّف مكان تم التحقق منه.
ما الذي ينبغي للفريق قياسه بشكل منفصل؟
تفشل كل طبقة بطريقتها، وستحجب درجة ملاءمة واحدة أي طبقة فشلت. يفشل الترميز الجغرافي مع عنوان ملتبس أو وحدة مفقودة أو إحداثي معكوس أو مطابقة على مستوى الشارع فقط. ويفشل البحث عن الأماكن عندما لا تتطابق تغطية المزود أو الفئة أو الحداثة مع المنتج. ويفشل الاستعلام المكاني مع هندسة غير صالحة أو مرجع إحداثيات غير متطابق أو مضلع لم يعد يناسب العملية.
ويفشل البحث المتجهي مع embedding ضعيفة أو نص قديم أو فهرس تقريبي يعيد عددًا قليلًا جدًا بعد التصفية. وتفشل بيانات الأعمال عندما يكون المخزون مجهولًا أو السجل غير مفوض أو ساعات العمل قديمة. السجل التشغيلي المفيد يسمي الطبقة. عبارة «Search failed» لا تفعل ذلك.
قيّم الطبقة مقابل مهمتها، ثم قيّم القرار. يحتاج الترميز الجغرافي إلى جودة المطابقة ومعرّفات ثابتة. ويحتاج البحث عن الأماكن إلى candidate recall ودقة الفئة ومعدل الأماكن القديمة. وتحتاج الاستعلامات المكانية إلى صحة هندسية ودليل على أن الاستعلام استخدم الفهرس. ويحتاج البحث المتجهي إلى ملاءمة دلالية وfiltered recall مقابل خط أساس exact search. أما الفحص من البداية إلى النهاية فيسأل هل تم استرجاع مكان مؤهل، وهل كانت نتيجة «لا توجد نتيجة» هي النتيجة الصادقة، وهل استخدم الإجراء المعرّف الذي وافقت عليه المرشحات. ولا ينبغي لفشل تفويض أو احتواء أن يختفي داخل متوسط click-through rate.
من أين ينبغي أن تبدأ المنظومة؟
اختر الأسلوب الذي يستطيع إثبات الجزء الذي طلبه المستخدم. يثبت الترميز الجغرافي أين يوجد الموضوع. ويثبت البحث عن الأماكن أي الأماكن المعروفة تطابق نصًا أو فئة أو منطقة في ذلك الفهرس. ويثبت الاستعلام المكاني علاقة هندسية فوق سجلات يحتفظ بها التطبيق. ويثبت البحث المتجهي تشابه المعنى، وفقط داخل المجموعة التي أبقتها المرشحات الصارمة. تثبت أنظمة الأعمال الحقيقة الحالية. وتثبت خدمة routing الرحلة. ويرتب الـ ranker ما تبقى. يشرح نموذج اللغة النتيجة ولا ينبغي أن يكون مصدر المسافة أو اختبار الاحتواء أو عدد المخزون.
بيانات الأماكن العامة هي المصدر الصحيح عندما تكون المهمة اكتشافًا عامًا. تبقى المتاجر الخاصة والمخزون والأهلية في الأنظمة المالكة لها، مع معرّفات ثابتة تربط مكان المزود وموقع المخزون وعلامة الخريطة. لا يمحو التشابه الدلالي حدًا جغرافيًا، ولا يجيب نصف القطر عن سؤال «على الطريق». استكشف Kaleidr Enterprise عندما يجب أن يعمل الاسترجاع على بيانات خاصة بالمؤسسة، واقرأ Platform API endpoints لعقود forward geocode وspot وroute المذكورة أعلاه.
ملاحظة: تستخدم Kaleidr أدوات مدعومة بالذكاء الاصطناعي لإنشاء الصور وتحسين المحتوى والبحث ضمن سير العمل الإبداعي والتطويري.
الأسئلة الشائعة
ما الفرق بين الترميز الجغرافي والبحث عن الأماكن؟
يحل الترميز الجغرافي عنوانًا أو إحداثيًا أو مرجع مكان معروف إلى هوية جغرافية. ويكتشف البحث عن الأماكن الشركات والمعالم والمحطات والأماكن الأخرى المسماة التي تطابق نصًا أو فئة أو منطقة قريبة. الأول يعيد موضوعًا. والثاني يعيد مرشحين.
هل البحث عن نقاط الاهتمام هو نفسه الترميز الجغرافي؟
لا. يمكن لبعض APIs المزودين قبول عنوان واستعلام مكان معًا. وعلى النقيض، Geocoding v6 API من Mapbox لم تعد توفر بيانات نقاط اهتمام أصلًا. البحث عن نقاط الاهتمام يكتشف مرشحين. والترميز الجغرافي يحل موقعًا.
ما الاستعلام المكاني؟
يرشح الاستعلام المكاني سجلات جغرافية بحسب علاقة هندسية مثل ضمن مسافة أو داخل مضلع أو يتقاطع أو أقرب جار. السجلات وهندستها مملوكة للتطبيق أصلًا. والشرط deterministic.
ما البحث المتجهي؟
يسترجع البحث المتجهي سجلات تكون embeddings الخاصة بها قريبة من embedding الاستعلام. يفيد هذا الأسلوب للمعنى وللصياغات التي لا تطابق نص المصدر. لكنه لا يثبت المسافة أو الاحتواء أو الأهلية.
هل يستطيع البحث المتجهي استبدال الاستعلام المكاني؟
لا. التشابه في فضاء embeddings لا يثبت المسافة الجغرافية أو الاحتواء أو ملاءمة الطريق أو العضوية في منطقة خدمة. استخدم شرطًا مكانيًا للحقيقة الجغرافية، واستخدم البحث المتجهي للملاءمة الدلالية داخل المجموعة التي يسمح بها ذلك الشرط.
هل ينبغي للجغرافيا تصفية المجموعة قبل البحث المتجهي؟
نعم عندما تكون الجغرافيا حدًا صارمًا. البحث في فهرس embeddings عالمي ثم فحص الموقع على قائمة قصيرة يمكن أن يسقط أماكن محلية صالحة لم تدخل تلك القائمة أصلًا. قاعدة البيانات والفهرس يحددان التنفيذ. أما الحد نفسه فلا يتغير.
هل ينبغي للفريق إجراء ترميز جغرافي قبل بحث قريب؟
نعم عندما تكون نقطة الارتكاز عنوانًا أو موقعًا آخر غير محلول. حل نقطة الارتكاز، ثم نفذ استرجاع الأماكن أو استعلامًا مكانيًا حول النقطة المحلولة. أما البحث حسب فئة من دون نقطة ارتكاز فهو أصلًا سؤال بحث عن الأماكن.
هل ينبغي للمنتج استخدام Places API أم قاعدة بياناته الخاصة؟
استخدم Places API للاكتشاف العام عندما تناسب التغطية والرخصة والـ attribution المنتج. واستخدم قاعدة بيانات المنتج الخاصة للمتاجر first-party والمخزون والمرافق الخاصة والأهلية وحالة الأعمال الحالية. يمكن لسجل مكان عام تحديد متجر. لكنه لا ينبغي أن يكون المرجع لما يحتويه ذلك المتجر اليوم.
ما البحث الهجين عن المواقع؟
يجمع البحث الهجين عن المواقع بين اثنين أو أكثر من هذه الأساليب لاتخاذ قرار واحد. سلسلة نموذجية تحل نقطة ارتكاز وتسترجع مرشحي أماكن وتطبق شرطًا مكانيًا وقاعدة أعمال ثم ترتب أي تفضيل دلالي داخل المجموعة المؤهلة. ويشرح نموذج اللغة الناجين.
هل توثق Kaleidr endpoint عامًا للبحث المتجهي؟
لا يوثق مرجع Platform API endpoints المذكور هنا endpoint عامًا للبحث المتجهي. أسطح الاسترجاع الموثقة المستخدمة في هذا المقال هي forward geocoding وPOST /spot لما يوجد عند نقطة، واستدعاء route بين إحداثيات متاحة بالفعل. أكد عقد Enterprise الحالي قبل إدراج فهرس دلالي في خطة المنتج.
References
- Google Maps Platform. Geocoding API overview. The service accepts an address, coordinates, or a Place ID, and converts an address into coordinates and a Place ID, or coordinates or a Place ID into an address. Accessed October 27, 2026. https://developers.google.com/maps/documentation/geocoding/overview
- Google Maps Platform. Geocoding API v4 overview. Documents forward geocoding, reverse geocoding, place geocoding, and destination search, and separates generally available, preview, and experimental channels. Accessed October 27, 2026. https://developers.google.com/maps/documentation/geocoding/geocoding-v4-overview
- Mapbox. Geocoding API. Forward and reverse geocoding. The Geocoding v6 API no longer provides point-of-interest data and directs that job to the Search Box API. Accessed October 27, 2026. https://docs.mapbox.com/api/search/geocoding/
- Mapbox. Search Box API. Interactive and stand-alone search for addresses, places, and points of interest, including category search. Accessed October 27, 2026. https://docs.mapbox.com/api/search/search-box/
- Google Maps Platform. Text Search (New). Returns places for a text string. Documented examples include "shoe stores near Ottawa" and "123 Main Street." Accessed October 27, 2026. https://developers.google.com/maps/documentation/places/web-service/text-search
- Google Maps Platform. Nearby Search (New). Takes one or more place types and returns matching places within a specified area. Accessed October 27, 2026. https://developers.google.com/maps/documentation/places/web-service/nearby-search
- PostGIS. ST_DWithin. Tests whether two geometries are within a given distance. The call includes a bounding-box comparison that uses available spatial indexes. Geography distance is in meters. Accessed October 27, 2026. https://postgis.net/docs/ST_DWithin.html
- PostGIS. ST_Within. Tests whether every point of one geometry lies in another and the interiors share a point. The function uses available spatial indexes. Accessed October 27, 2026. https://postgis.net/docs/ST_Within.html
- pgvector. pgvector. Exact and approximate nearest-neighbor search in Postgres, including HNSW and IVFFlat indexes, cosine and other distances, and iterative scans when a filter leaves too few approximate results. Accessed October 27, 2026. https://github.com/pgvector/pgvector
- Kaleidr Developer Docs. Platform API endpoints. Documents forward geocoding for a search box or From/To field,
POST /spotas the successor to the deprecated POI enrich endpoint, and a route call between known coordinates. Accessed October 27, 2026. https://docs.kaleidr.com/platform-api/endpoints - Kaleidr. Place Ranking API for Customer Intent. Hard filters such as authorization, availability, required capability, and service area run before scoring. Accessed October 27, 2026. https://kaleidr.com/blog/place-ranking-api
- Kaleidr Developer Docs. How Kaleidr works. Uploading an organization's own business data for AI answers is Enterprise only, as is the key scope that lets answers draw on that data. Accessed October 27, 2026. https://docs.kaleidr.com/concepts/how-kaleidr-works
- Kaleidr. Plot Places on a Map. A related guide for turning resolved places into markers. Accessed October 27, 2026. https://kaleidr.com/blog/plot-places-on-a-map
- Kaleidr. How to Build a Nearby Places Map for Near Me Search. A related guide for nearby discovery. Accessed October 27, 2026. https://kaleidr.com/blog/how-to-build-a-nearby-places-map-for-near-me-search
- Kaleidr. Spatial Context Engineering for Map-Aware AI. A related guide for what reaches the model after retrieval. Accessed October 27, 2026. https://kaleidr.com/blog/spatial-context-engineering
- Kaleidr. Grounded Spatial AI for Business Data. A related guide for keeping business facts in the systems that own them. Accessed October 27, 2026. https://kaleidr.com/blog/grounded-spatial-ai-business-data
- Kaleidr. Map-Aware AI Assistant: How to Build One. A related guide for map actions around a validated place. Accessed October 27, 2026. https://kaleidr.com/blog/how-to-build-a-map-aware-ai-assistant
References in BibTeX
@misc{google_geocoding_overview_2026,
title = {Geocoding API overview},
author = {{Google Maps Platform}},
year = {2026},
url = {https://developers.google.com/maps/documentation/geocoding/overview}
}
@misc{google_geocoding_v4_overview_2026,
title = {Geocoding API v4 overview},
author = {{Google Maps Platform}},
year = {2026},
url = {https://developers.google.com/maps/documentation/geocoding/geocoding-v4-overview}
}
@misc{mapbox_geocoding_api_2026,
title = {Geocoding API},
author = {{Mapbox}},
year = {2026},
url = {https://docs.mapbox.com/api/search/geocoding/}
}
@misc{mapbox_search_box_api_2026,
title = {Search Box API},
author = {{Mapbox}},
year = {2026},
url = {https://docs.mapbox.com/api/search/search-box/}
}
@misc{google_places_text_search_2026,
title = {Text Search (New)},
author = {{Google Maps Platform}},
year = {2026},
url = {https://developers.google.com/maps/documentation/places/web-service/text-search}
}
@misc{google_places_nearby_search_2026,
title = {Nearby Search (New)},
author = {{Google Maps Platform}},
year = {2026},
url = {https://developers.google.com/maps/documentation/places/web-service/nearby-search}
}
@misc{postgis_st_dwithin_2026,
title = {ST_DWithin},
author = {{PostGIS}},
year = {2026},
url = {https://postgis.net/docs/ST_DWithin.html}
}
@misc{postgis_st_within_2026,
title = {ST_Within},
author = {{PostGIS}},
year = {2026},
url = {https://postgis.net/docs/ST_Within.html}
}
@misc{pgvector_2026,
title = {pgvector},
author = {{pgvector}},
year = {2026},
url = {https://github.com/pgvector/pgvector}
}
@misc{kaleidr_platform_api_endpoints_2026,
title = {Platform API endpoints},
author = {{Kaleidr}},
year = {2026},
url = {https://docs.kaleidr.com/platform-api/endpoints}
}
@misc{kaleidr_place_ranking_api_2026,
title = {Place Ranking API for Customer Intent},
author = {{Kaleidr}},
year = {2026},
url = {https://kaleidr.com/blog/place-ranking-api}
}
@misc{kaleidr_how_kaleidr_works_2026,
title = {How Kaleidr works},
author = {{Kaleidr}},
year = {2026},
url = {https://docs.kaleidr.com/concepts/how-kaleidr-works}
}