Ich arbeite an der Sear API. In meiner Entität ändern sich viele Elemente und Daten durch die Aktion des Benutzers. Ich möchte nicht alle Daten neu indizieren. Daher möchte ich eine Entität neu indizieren, nachdem der Benutzer die Aktion ausgeführt hat. Ich habe das Thema nur für Drupal 7 gefunden. Wie kann ich mit der Such-API für Drupal 8 die Force-Such-API implementieren, um eine Entität neu zu indizieren? Wie oder welchen Snippet-Code kann ich verwenden? Bitte helfen Sie!
zB habe ich einen Suchindex mit einem Grundfeld wie diesem:
Ich möchte die Anzahl der Kommentarwerte nach der Verwendung aktualisieren und einen neuen Kommentar hinzufügen. Die Standardsuch-API unterstützt das nicht. Und ich möchte nicht darauf warten, dass ein Cron den Wert aktualisiert. Stellen Sie sich ein Feld vor, das nicht so wichtig ist wie die Anzahl der Kommentare. Dieses Feld muss sofort aktualisiert werden.
Wie von @Duncanmoo (D7) bemerkt, gibt es verschiedene Anwendungsfälle, in denen Sie eine Seite oder Entität möglicherweise selbst in benutzerdefiniertem Code neu indizieren möchten.
In meinem Fall wurden die relevanten Knotenentitätsaktualisierungen wie folgt implementiert:
Search_api_entity_update () wurde jedoch nicht ausgelöst, um das aktualisierte Feld erneut auf Solr zu indizieren, da der Hook field_attach_update () nicht abhört.
Stattdessen habe ich diesen vorgeschlagenen zusätzlichen benutzerdefinierten Code angewendet, um die Neuindizierung für jedes Element abzuschließen.
quelle