Testo libero e simili di SQL
-
06-07-2019 - |
Domanda
Se uso come '% fish%' viene restituito quanto segue
SCAGLIE DI GOLDFISH AQUARIANO
ma se uso Contains ([Description], '" fish * "') non c'è qualcosa che posso fare?
Fondamentalmente voglio restituire qualsiasi cosa che contenga la parola fish ovunque.
Soluzione
Che dire di
CONTAINS([Description], '"fish"')
o
FREETEXT([Description], 'fish')
Ti dà qualcosa?
L'indicizzazione di testo completo di SQL Server non supporta la ricerca di un'espressione con un carattere jolly iniziale, ad es. non puoi scegliere un CONTAINS ([Description], '" * fish * "')
o qualcosa del genere :-(
Quello che potresti anche fare è definire il tuo sinonimo per la ricerca full text, ad es. definire " pesce rosso " essere sinonimo di " pesce " - di quanto dovresti essere in grado di cercare solo " pesce " e trova anche "quot goldfish".
SELECT (list of fields) FROM YourTable
WHERE CONTAINS([Description], 'FORMSOF(THESAURUS, fish)')
Scopri Comprensione dell'indicizzazione full-text in SQL Server - c'è una buona sezione un po 'giù nell'articolo sulla modifica del thesaurus full-text.
Marc