Predicato FREETEXT
Il predicato FREETEXT fa parte della clausola WHERE e supporta la ricerca di parole e frasi nelle colonne di testo. Usare il predicato FREETEXT per trovare documenti contenenti combinazioni delle parole di ricerca distribuite in tutto il contenuto o le colonne specificate. Per ottenere il valore di rango, includere System.Search.Rank, ovvero una classificazione di rilevence, come colonna nell'istruzione SELECT.
Il predicato FREETEXT ha la sintassi seguente:
FREETEXT
(["<fulltext_column>",]'<freetext_condition>'[,<LCID>])...
Il riferimento alla colonna full-text è facoltativo. Con esso, è possibile specificare una singola colonna o un alias di raggruppamento di colonne in base al quale viene testato il predicato FREETEXT. Quando la colonna full-text viene specificata come "ALL" o "*", vengono eseguite ricerche in tutte le proprietà di testo indicizzate. Anche se la colonna non è necessaria per essere una proprietà di testo, i risultati potrebbero non essere significativi se la colonna è un altro tipo di dati. Il nome della colonna può essere un identificatore normale o delimitato ed è necessario separarlo dalla condizione in base a una virgola. Se non viene specificata alcuna condizione full-text, viene utilizzata la colonna Contenuto, ovvero il corpo del documento.
È possibile specificare le impostazioni locali di ricerca per identificare il word breaker e i moduli diflezione appropriati per la query di ricerca. I valori delle impostazioni locali validi sono un identificatore LCID (Standard Language Code Identifier) di Windows. Ad esempio, 1033 è l'LCID per stati Uniti-inglese. Posizionare LCID come ultimo elemento tra parentesi della clausola FREETEXT. Per informazioni importanti sulla ricerca e sulle lingue, vedere Uso di ricerche localizzate.
Nota
Le impostazioni locali di ricerca predefinite sono le impostazioni locali predefinite del sistema.
È necessario racchiudere la parte della condizione di testo libero tra virgolette singole e deve essere costituita da uno o più termini di ricerca. Il predicato FREETEXT non supporta le operazioni logiche. Per cercare una frase come se fosse una singola parola, racchiudere la frase tra virgolette doppie.
Quando si usa il predicato FREETEXT, i risultati della query di ricerca restituiscono documenti contenenti tutti i termini di ricerca. I termini non devono essere visualizzati in un ordine specifico. I documenti che contengono più termini di ricerca hanno valori di colonna di rango più elevati.
Esempi
Nell'esempio seguente vengono cercati documenti contenenti "computer", "software", "hardware" o combinazioni di tali parole:
WHERE FREETEXT('computer software hardware')
Nota
Non è possibile utilizzare la corrispondenza di parole singole e la corrispondenza di frasi nello stesso predicato FREETEXT.
Quando si eseguono query con contrazioni, è necessario eseguire l'escape delle virgolette nella contrazione quando si usa FREETEXT, ma non quando si usa CONTAINS.
Ad esempio, la sintassi seguente ha esito negativo:
WHERE FREETEXT(*,'"We'll meet next week"')
La sintassi corretta include due virgolette singole, non virgolette doppie.
La sintassi seguente ha esito positivo:
WHERE FREETEXT(*,'"We''ll meet next week"')
Argomenti correlati
-
riferimento
-
concettuale