Algolia reindex مشاكل

أثناء تنفيذ algolia:reindex باستخدام مهمة الـ rake، تعطلت مع الخطأ التالي:

مسح المستخدمين من Algolia
دفع المستخدمين إلى Algolia
...
تم دفع 1849 مستخدمًا بنجاح إلى Algolia
مسح العلامات من Algolia
دفع العلامات إلى Algolia
..
تم دفع 53 علامة بنجاح إلى Algolia
مسح المنشورات من Algolia
دفع المنشورات إلى Algolia
تم إلغاء مهمة الـ rake!
Algolia::AlgoliaHttpError: السجل في الموضع 662 objectID=690 كبير جدًا الحجم=20920/20000 بايت. يرجى إلقاء نظرة على https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/in-depth/index-and-records-size-and-usage-limitations/#record-size-limits (Algolia::AlgoliaHttpError)

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

objects.reject! { |object| object.to_json.bytesize > 20000 }

مباشرة قبل استدعاء @index.save_objects ولكن هذا يعني أيضًا أنه لم يتم فهرسة هذه المنشورات على الإطلاق.

إعجابَين (2)

أي أفكار حول ما تتوقعه واجهة برمجة التطبيقات؟ هل من المفترض أن نقوم بتقصيرها أو إرسالها على دفعات متعددة؟

وفقًا لـ Index long pages - Algolia ، يجب تقسيمه، ويجب تعيين distinct على true عند البحث.

الحد الأقصى للحجم هو يعتمد على الخطة ولكن لا يمكنني العثور على طريقة للاستعلام عنه. نظرًا لوجود حد “متوسط حجم السجل عبر جميع السجلات” أيضًا في خطط معينة، فقد يكون من الجيد التقسيم عند 10 كيلوبايت 10000 بايت.

إعجابَين (2)