Algolia Reindizierungsprobleme

Beim Ausführen von algolia:reindex mit der Rake-Aufgabe stürzte diese mit dem folgenden Fehler ab

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)

Soweit ich sehen kann, enthält das Plugin keine Funktionalität, um längere Beiträge in separate Blöcke aufzuteilen. Ich konnte das Problem umgehen, indem ich lange Beiträge nicht einbezog, indem ich

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

direkt vor dem @index.save_objects-Aufruf hinzufügte, aber das bedeutet auch, dass diese Beiträge überhaupt nicht indiziert werden.

2 „Gefällt mir“

Haben Sie eine Idee, was die API erwartet? Sollen wir sie kürzen oder in mehreren Teilen senden?

Gemäß Index long pages - Algolia muss es aufgeteilt und distinct muss beim Suchen auf true gesetzt werden.

Die maximale Größe ist abhängig vom Plan, aber ich kann keine Möglichkeit finden, sie abzufragen. Angesichts der Tatsache, dass es auf bestimmten Plänen auch ein Limit für die “durchschnittliche Datensatzgröße über alle Datensätze hinweg” gibt, könnte es sinnvoll sein, bei 10 KB 10000 Bytes aufzuteilen.

2 „Gefällt mir“