Skip to main content
filter_conditions هي مصفوفة اختيارية واحدة في نص الطلب. ترفع كل عبارة فلترًا واحدًا متعدد القيم من سلوك OR الافتراضي (“مطابقة أي قيمة”) إلى AND (“مطابقة جميع القيم”)، أو العكس. الفلاتر التي لا تذكرها تبقى على قيمها الافتراضية.

البنية

كل من key وoperator مطلوبان في كل عبارة. تُتجاهل العبارة التي تحتوي على operator فقط بصمت — لا يوجد تجاوز عام.

لماذا يهم هذا الأمر

المعامل الافتراضي هو OR لأن معظم سير عمل استكشاف العملاء المحتملين يريد نطاقًا واسعًا: “أشخاص في أي من هذه الدول”، “شركات موسومة بـ أي من هذه القطاعات”. أما للاستهداف عالي الدقة — “تستخدم كل من Salesforce + HubSpot + Marketo” — فأنت بحاجة إلى AND. تكلفة الخطأ:
  • أردت AND وحصلت على OR: تستدعي الاستجابة نتائج أكثر من اللازم — سترى شركات تطابق وسمًا واحدًا فقط، وليس كامل المجموعة. سهل الملاحظة، ويكلّفك جودة النتائج.
  • أردت OR وحصلت على AND: تستدعي الاستجابة نتائج أقل من اللازم — عادةً ما تُرجع فلاتر AND متعددة القيم صفوفًا قريبة من الصفر لأن المصفوفات في الواقع نادرًا ما تحتوي كل قيمة مطلوبة. سهل الملاحظة، ويبدو وكأنه استعلام معطوب.
من الناحية التقنية، يترجم المحرك اختيارك للمعامل إلى معامل مصفوفة أصلي في Postgres: && (تداخل) لـ OR، و@> (احتواء) لـ AND. كلاهما ملائم للفهرسة، لذا يكمن الفارق في حجم النتائج وليس في زمن استجابة الاستعلام.

المفاتيح المدعومة

تعتمد مجموعة المفاتيح الدقيقة على نقطة النهاية التي تستدعيها:
تعكس المفاتيح أعلاه مصفوفات enum في مواصفة OpenAPI (company_filter_conditions، people_filter_conditions، ads_filter_conditions). إرسال مفتاح غير مدعوم لنقطة نهاية معينة يُتجاهل بصمت.

وصفات جاهزة

الهدف: شركات تستخدم كل من Python وPostgreSQL وKubernetes — وليس واحدة فقط.
احذف عبارة filter_conditions لتوسيع البحث ليشمل أيًا من التقنيات الثلاث.

أخطاء شائعة

لا يوجد مفتاح “معامل افتراضي” عام. يجب أن تسمّي كل عبارة فلترًا محددًا:
العبارات هي تجاوزات مستقلة لكل مفتاح — لا تتسلسل. إدراج كل من technologies وverticals لا يُنشئ تعبيرًا منطقيًا بينهما؛ كل عبارة فقط تضبط معامل مصفوفتها الخاصة.الجمع بين مفاتيح الفلاتر المختلفة يكون دائمًا AND (يجب أن يطابق كل فلتر). لا يمكنك دمج فلترين مختلفين بعلاقة OR عبر filter_conditions. إذا كنت بحاجة إلى بحث حقيقي بعلاقة OR بين فلاتر مختلفة، شغّل طلبين ودمج النتائج من جهة العميل.
AND هو column @> ARRAY[…] — يجب أن تكون كل قيمة موجودة. مع 8 قيم أو أكثر تحصل غالبًا على صفر صفوف لأن الوسم في الواقع الفعلي متناثر. أبقِ المصفوفات المُتجاوَزة بـ AND عند 2-4 قيم؛ استخدم OR للتصفية الاستكشافية أو على مستوى الفئة.
في /people/search، اسم واجهة API الخاصة بالأشخاص هو company_places / company_locations. لكن داخل filter_conditions[].key يجب استخدام اسم المحركplaces، locations. تحدث إعادة التعيين داخليًا قبل أن يُستشار filter_conditions.
جدول إعادة التعيين الكامل في صفحة فلاتر الأشخاص + الشركة.
عند الشك، احذف filter_conditions أولًا وتحقق من عدد النتائج مقابل توقعاتك. أضف التجاوزات فقط للفلاتر التي لا يطابق فيها الافتراضي نيتك — هذا يبقي حمولة الطلب أصغر وأسهل في تصحيح الأخطاء.

طالع أيضًا

نظرة عامة على الفلاتر

النموذج الذهني — ابدأ هنا إذا كانت filter_conditions محطتك الأولى.

فلاتر الأشخاص + الشركة

كيفية دمج فلاتر الشركة داخل /people/search، بما في ذلك إعادة تعيين المفاتيح.

مرجع بحث الشركات

مخطط الطلب الكامل لـ /companies/search (يتضمن company_filter_conditions).

مرجع بحث الأشخاص

مخطط الطلب الكامل لـ /people/search (يتضمن people_filter_conditions).
آخر تعديل في ٤ سبتمبر ٢٠٢٦