Hallo,
Ich habe ein Problem mit dem Modal „In bestehendes Thema verschieben“ (dies hat auf meiner Seite zuvor funktioniert, es scheint sich also um eine Regression zu handeln):
- Die Eingabe in Thema suchen verfeinert die Ergebnisse nicht
- Netzwerkanfragen geben 200 mit den korrekten Parametern zurück
- Keine JS-Fehler in der Browserkonsole
- Die seitenweite
/searchfunktioniert wie erwartet - Das Problem besteht über alle Neuerstellungen hinweg fort
Beispielanfrage:
/search/query?term=Eve Park&type_filter=topic&search_for_id=true&restrict_to_archetype=regular
Die Auswahlliste scheint eine statische Menge von Themen zu bleiben und ändert sich nicht, wenn sich der
termändert.
Nach der clientseitigen Fehlerbehebung vermutete ich zunächst, dass dies daran liegen könnte, dass pg_trgm in Postgres nicht aktiviert ist, wollte dies aber bestätigen, bevor ich fortfahre.
Ich habe die folgenden Befehle ausgeführt:
./launcher enter app
rails c
ActiveRecord::Base.connection.execute(
"SELECT extname FROM pg_extension WHERE extname = 'pg_trgm';"
).to_a
Diese Diagnose wäre gültig, wenn der Befehl zurückgegeben hätte:
[]
Stattdessen gab er jedoch zurück:
[{"extname"=>"pg_trgm"}]
pg_trgm ist also aktiviert und scheint nicht die eigentliche Ursache zu sein.
Ich beabsichtige daher, den folgenden Befehl auszuführen:
./launcher enter app
rake search:reindex
Dies könnte relevant sein, da eine bestimmte Kategorie meines Forums eine sehr große Anzahl von Themen aufweist.
Was verwirrend ist, ist Folgendes:
- Discourse funktioniert ansonsten weiterhin normal
- Die vollständige
/searchfunktioniert wie erwartet - Die Autovervollständigung beim Verschieben von Themen verschlechtert sich stillschweigend, anstatt eine Warnung auszugeben
Im Rahmen der Fehlerbehebung habe ich auch die Einstellung search prefer recent posts aktiviert und den Browser neu geladen. Dies hatte keinen Einfluss auf das Verhalten – die Suche zum „Verschieben in bestehendes Thema“ verfeinert die Ergebnisse immer noch nicht, während ich tippe.
Da diese Einstellung nur die vollständige /search-Rangfolge beeinflusst und nicht den Endpunkt für die Themenauswahl, steht dies im Einklang damit, dass das Problem spezifisch für /search/query und nicht für die allgemeine Suchleistung ist.
Bevor ich rake search:reindex ausführe, wollte ich die Begründung auf Plausibilität prüfen:
Der Themenverschiebe-Auswähler verwendet /search/query mit search_for_id=true, was stärker auf Index-Suchen angewiesen ist als der vollständige /search-Endpunkt. Ein teilweise veralteter oder inkonsistenter Suchindex könnte daher den Auswähler beeinflussen, während die vollständige Suche weiterhin zu funktionieren scheint.
Angesichts dessen, dass:
- der Endpunkt aufgerufen wird,
- Antworten 200 zurückgeben,
pg_trgmaktiviert ist,- und das Umschalten von
search prefer recent postskeinen Effekt hat,
scheint ein vollständiges rake search:reindex der nächste logische Schritt zu sein, um eine Index-Inkonsistenz auszuschließen. Getrennt davon macht das Fehlen jeglicher Warnung oder Rückmeldung dies aus Sicht der Admin-Benutzererfahrung besonders verwirrend.