Ciao,
Sto riscontrando un problema con la modale “Sposta in argomento esistente” (in precedenza funzionava sul mio sito, quindi sembra essere una regressione):
- La digitazione in Cerca un argomento non affina i risultati
- Le richieste di rete restituiscono 200 con i parametri corretti
- Nessun errore JS nella console del browser
- La
/searchdell’intero sito funziona come previsto - Il problema è persistito dopo le ricostruzioni
Richiesta di esempio effettuata:
/search/query?term=Eve Park&type_filter=topic&search_for_id=true&restrict_to_archetype=regular
La lista di selezione sembra rimanere un insieme statico di argomenti e non cambia al variare del
term.
Dopo il debug lato client, inizialmente ho sospettato che ciò potesse essere causato dal fatto che pg_trgm non fosse abilitato in Postgres, ma volevo confermarlo prima di procedere.
Ho eseguito i seguenti comandi:
./launcher enter app
rails c
ActiveRecord::Base.connection.execute(
"SELECT extname FROM pg_extension WHERE extname = 'pg_trgm';"
).to_a
Questa diagnosi sarebbe valida se il comando restituisse:
[]
Tuttavia, invece ha restituito:
[{"extname"=>"pg_trgm"}]
Quindi pg_trgm è abilitato, e questo non sembra essere la causa principale.
Intendo quindi eseguire il seguente comando:
./launcher enter app
rake search:reindex
Questo potrebbe essere rilevante perché una particolare categoria del mio forum ha un numero molto elevato di argomenti.
Ciò che confonde è che:
- Discourse continua a funzionare normalmente
- La
/searchcompleta funziona come previsto - L’autocomplete per lo spostamento degli argomenti degrada silenziosamente invece di avvisare
Come parte del debug, ho anche abilitato l’impostazione search prefer recent posts e ricaricato il browser. Ciò non ha avuto alcun effetto sul comportamento: la ricerca di “Sposta in argomento esistente” ancora non affina i risultati mentre digito.
Dato che tale impostazione influisce solo sulla /search completa e non sull’endpoint di selezione dell’argomento, ciò è coerente con il fatto che il problema sia specifico di /search/query piuttosto che delle prestazioni generali della ricerca.
Prima di eseguire rake search:reindex, volevo verificare la logica:
Il selettore di spostamento argomenti utilizza /search/query con search_for_id=true, che si basa più direttamente sulle ricerche nell’indice rispetto all’endpoint /search completo. Un indice di ricerca parzialmente obsoleto o incoerente potrebbe quindi influire sul selettore mentre la ricerca completa sembra ancora funzionare.
Dato che:
- l’endpoint viene chiamato,
- le risposte restituiscono 200,
pg_trgmè abilitato,- e l’attivazione di
search prefer recent postsnon ha effetto,
Un rake search:reindex completo sembra essere il passo logico successivo per escludere l’incoerenza dell’indice. Separato da ciò, la mancanza di qualsiasi avviso o feedback rende questo aspetto particolarmente confuso dal punto di vista dell’UX amministrativa.