Closed alxndr-w closed 4 years ago
Das gleiche Problem tritt auf, wenn der Suchindex per EP geändert wird. Die Änderungen fließen nicht in den Cache mit ein.
Das sind Punkte, die wieder für Überraschung sorgen, wenn sie JETZT erst bemerkt werden.
Bin jetzt gerade mal wieder nicht im Thema, aber ist ein Cache nicht ein Aufbewahren alter Anfragen/Ergebnisse? Der müsste dann gelöscht werden, wenn der Index erneuert wurde, oder?
Ja. Wird eine Suchanfrage gestellt, schaut search_it im Cache nach, ob das schon mal gesucht wurde. Wurde aber zwischenzeitlich z.B. ein neuer Artikel zu einem Begriff in den Suchindex aufgenommen, wird trotzdem das Ergebnis aus dem Cache ausgeliefert - ohne den neuen Artikel.
Der Teil ist schon klar... :-) Wie sieht denn die bisherige Lösung aus? Wird der ganze Cache gelöscht? Passiert das am Anfang des Prozesses und deshalb wird es zum Problem?
Wir hatten den Fall auch schon mal bei den URLs aus dem url Addon besprochen. Wenn der EP aufgerufen wird um eine neue URL zum Index hinzuzufügen, wird der Cache für die betreffende URL gelöscht. Kommt aber eine neue URL hinzu, müsste eigentlich der komplette Cache gelöscht werden, damit die neue URL auch zu den bisher gesuchten Ergebnissen hinzugefügt wird. Das ist allerdings im Moment nicht der Fall.
Kommt mir im Moment ziemlich unlogisch vor, eine neue Sache in einen Cache pushen zu wollen...
@tyrant88 es wird ja nichts in den Cache gepusht. Nur der Cache spiegelt eben die aktuellen Artikel nicht wieder, die dann verfügbar sind und gefunden werden könnten.
Der Cache verhindert, dass neue Ergebnisse gefunden werden können. Beispiel: ein Nutzer sucht nach "test". Dann haben wir im Cache das Suchergebnis. Jetzt kommt eine neue URL mit dem Stichwort "test" zum Index hinzu. Ein Nutzer sucht danach wieder nach "test". Was bekommt er angezeigt? Das Ergebnis aus dem Cache. Die neue Seite im Index fehlt.
Ziel ist nicht ein Ergebnis in den Cache zu pushen. Aber der Cache sollte geleert werden, damit die neuen URLs / Seiten im Index auch eine Chance haben gefunden zu werden.
Den Cache leeren, sollte einfach sein.... :-)
Sucht man, während der Index schrittweise erstellt wird, dann wird bereits für dieses Keyword ein Suchcache erstellt. Dieser enthält dann nicht Daten aus dem Index, die erst im Laufe indexiert wurden.