I risultati della ricerca non sono evidenziati in alcune lingue

Ciao! Nella mia installazione di Discourse 2.5.0.beta1 l’evidenziazione delle parole chiave cercate nei risultati di ricerca non funziona se la ricerca è stata effettuata in una lingua diversa dall’inglese.
È un bug o una funzionalità?)
Grazie

Cosa ci si aspetta qui, @sam?

Evidenziamo solo parole complete. Questo sembra una parola parziale.

Ciao! Mi aspetto che la parola chiave trovata venga evidenziata così:

sorry, not in this case:

@vinothkannans puoi dare un’occhiata veloce a:

@smith puoi pubblicare qui la parola esatta in greco? (Penso che sia greco) potrebbe essere un bug nella nostra libreria JavaScript di evidenziazione.

Questa è la scrittura cirillica, basata però sul greco; ecco un esempio:

Poiché è piaciuto allo Spirito Santo e anche a noi di non imporvi alcun altro peso oltre a questo necessario:
astenersi dalle cose sacrificate agli idoli, dal sangue, dalle carni di animali soffocati e dalla fornicazione; non fare agli altri ciò che non vorreste fosse fatto a voi. Facendo questo, farete bene. State in salute.

Il problema risiede nel plugin jQuery Highlight. Per evidenziare le parole, utilizza l’espressione regolare del confine di parola \b, che non è supportata con i caratteri Unicode.

https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed

(?<=[\s,.:;"']|^)UNICODE_WORD(?=[\s,.:;"']|$)

Sembra una possibile soluzione :thinking:

Credo che @gerhard abbia già affrontato questo problema specifico relativo ai nomi utente Unicode (almeno ne ho un vago ricordo)

Sono felicissimo di vedere una soluzione qui, ma dobbiamo fare estrema attenzione affinché la regex che scegliamo non abbia prestazioni patologiche in certi casi in cui il testo è lungo o particolarmente problematico. Inoltre, penso che in cinese non ci preoccupiamo nemmeno dei confini delle parole?

Creata una nuova PR con la correzione