تتضمّن حزمة تطوير البرامج (SDK) في Google Cloud Search مَعلمات إعداد مقدَّمة من Google لجميع الموصِّلات. يمكن أن يؤدي ضبط هذه الإعدادات إلى تبسيط عملية فهرسة البيانات. يسرد هذا الدليل مشاكل الفهرسة الشائعة والإعدادات اللازمة لحلّها.
معدّل نقل بيانات الفهرسة منخفض بالنسبة إلى FullTraversalConnector
يسرد الجدول التالي الإعدادات التي يمكن استخدامها لتحسين معدل نقل البيانات في
FullTraversalConnector:
| الإعداد | الوصف | تلقائي | التغيير المقترَح |
|---|---|---|---|
traverse.partitionSize |
عدد عناصر ApiOperation() التي تتم معالجتها على دفعات. ينتظر حزمة تطوير البرامج (SDK) اكتمال أحد الأقسام قبل جلب المزيد. |
50 | يمكنك زيادة هذا العدد إلى 1000 أو أكثر إذا كانت لديك ذاكرة كافية. |
batch.batchSize |
عدد الطلبات المجمّعة معًا | 10 | جرِّب تقليل حجم الدفعة. |
batch.maxActiveBatches |
الدفعات المتزامنة المسموح بها | 20 | إذا خفّضت batchSize، يمكنك زيادة هذا الحد باستخدام: (partitionSize / batchSize) + 50. |
traverse.threadPoolSize |
عدد سلاسل المحادثات للمعالجة المتوازية | 50 | يمكنك زيادة هذا الرقم بمضاعفات العدد 10. |
ننصحك باستخدام setRequestMode() للتبديل بين وضعَي طلبات البيانات من واجهة برمجة التطبيقات ASYNCHRONOUS وSYNCHRONOUS.
انخفاض معدّل نقل البيانات للفهرسة في ListTraversalConnector
يستخدم ListTraversalConnector أداة اجتياز واحدة تلقائيًا. لزيادة معدل النقل، أنشئ عدة أدوات بحث لحالات سلع معيّنة (مثل
NEW_ITEM, MODIFIED).
| الإعداد | الوصف | تلقائي | تغيير |
|---|---|---|---|
repository.traversers | تنشئ هذه الدالة أدوات اجتياز فردية بأسماء فريدة (مثل t1, t2). | One traverser | إضافة المزيد من أدوات التجوال |
traversers.t1.hostload | عدد سلاسل المحادثات التي ستتم فهرسة العناصر بها بشكل متزامن. | 5 | جرِّب قيمًا تبلغ 10 أو أكثر. |
schedule.pollQueueIntervalSecs | عدد الثواني التي يجب الانتظار خلالها قبل إعادة طلب بيانات من قائمة انتظار فارغة. | 10 | جرِّب تخفيضها إلى 1. |
traverser.t1.pollRequest.statuses | الحالات
التي يجب فهرستها (مثلاً، NEW_ITEM). | الكل | استخدِم أدوات بحث مختلفة للحالات المختلفة. |
انتهاء مهلة حزمة تطوير البرامج (SDK) أو انقطاعها
إذا حدثت مهلات عند تحميل ملفات كبيرة، يمكنك زيادة المهلة باستخدام traverser.timeout=seconds (القيمة التلقائية هي 60 ثانية). يمكنك أيضًا زيادة مهلات طلبات واجهة برمجة التطبيقات:
| المَعلمة | الوصف | تلقائي |
|---|---|---|
indexingService.connectTimeoutSeconds |
مهلة الاتصال لطلبات البيانات من واجهة برمجة التطبيقات | 120 ثانية |
indexingService.readTimeoutSeconds |
مهلة القراءة لطلبات البيانات من واجهة برمجة التطبيقات | 120 ثانية |