Comprensione della corrispondenza parziale delle parole nei risultati di ricerca

Nella nostra ricerca vanilla
Quando cerco:
“Pen” ottengo risultati per la Pennsylvania.
Lo stesso vale per i termini di ricerca “Penn” e “Pennsyl”
Ma quando cerco “Pennsy” ottengo “nessun risultato trovato” per “Pennsy”, mentre gli altri termini funzionano come previsto.

In Firefox - Per questo esempio, la stringa di ricerca errata “Pennsy” restituisce semplicemente un risultato per il nostro gruppo “membri dalla Pennsylvania”, ma il comportamento è ugualmente strano.

Nessun errore nella console, nessun problema evidente negli header XHR… solo un oggetto di risposta molto più piccolo (come ci si aspetterebbe dal comportamento).

Per escludere che si trattasse di un problema di versione o di implementazione, l’ho testato anche su metaDotDiscourse, ed è successo anche lì!

Nota: succede anche per “Jus” (molti risultati)
poi “Just” restituisce solo risultati utente.
ma “justi” ottiene risultati del forum.
Dati i due esempi, immagino che altri risultati di ricerca facciano lo stesso.
Interessante notare che non sembra essere legato alla lunghezza del termine. Quindi cosa stia succedendo è davvero al di là della mia comprensione!

Ha a che fare con la stemming delle parole, un concetto tecnico di ricerca.

1 Mi Piace

Apprezzo l’attenzione, ma si tratta comunque di:

  1. un comportamento inaspettato — un insieme di risultati (o nessun risultato) completamente diverso per la stessa radice di parola per cui esiste contenuto.
  2. le incongruenze tra i vari browser sono piuttosto strane, no??

I nostri utenti finali non sanno cos’è lo stemming, che, come hai giustamente sottolineato, è un termine tecnico di ricerca.

Con la modifica del titolo del post, gli altri deployer di Discourse che stanno riscontrando problemi simili non riusciranno a trovarlo cercando nel forum; e dato che non si tratta più di un rapporto di bug, nessuno con il potenziale per contribuire a migliorare il comportamento lo vedrà come qualcosa che potrebbe trarre beneficio dall’essere risolto.

Se si tratta di un elemento critico che deve essere trovato nella ricerca, assicurati di utilizzare tag, parole speciali o qualche altro marcatore distintivo. Potresti anche essere interessato alle parole di arresto della ricerca: