Problemas de reindex de Algolia

Al realizar algolia:reindex usando la tarea de rake, se bloqueó con el siguiente error

Clearing users from Algolia
Pushing users to Algolia
...
Successfully pushed 1849 users to Algolia
Clearing tags from Algolia
Pushing tags to Algolia
..
Successfully pushed 53 tags to Algolia
Clearing posts from Algolia
Pushing posts to Algolia
rake aborted!
Algolia::AlgoliaHttpError: Record at the position 662 objectID=690 is too big size=20920/20000 bytes. Please have a look at 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)

Hasta donde puedo ver, el plugin no contiene ninguna funcionalidad para dividir publicaciones más largas en fragmentos separados. Pude solucionar el problema al no incluir publicaciones largas agregando

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

justo antes de la llamada a @index.save_objects, pero también significa que estas publicaciones no se indexan en absoluto.

2 Me gusta

¿Alguna idea de lo que espera la API? ¿Debemos truncarlo o enviarlo en varios fragmentos?

Según Index long pages - Algolia debe dividirse en fragmentos y distinct debe establecerse en true al buscar.

El tamaño máximo depende del plan (depende del plan), pero no encuentro una forma de consultarlo. Dado que también existe un límite de “tamaño promedio de registro en todos los registros” en ciertos planes, podría ser bueno dividir en fragmentos de 10 KB 10000 bytes.

2 Me gusta