Condividi tramite


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 nelle colonne specificate. Per ottenere il valore di classificazione, includere System.Search.Rank, ovvero una classificazione di relevence, come colonna nell'istruzione SELECT.

Il predicato FREETEXT ha la sintassi seguente:

FREETEXT
(["<fulltext_column>",]'<freetext_condition>'[,<LCID>])...

Il riferimento alla colonna fulltext è 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 fulltext viene specificata come "ALL" o "*", vengono eseguite ricerche tutte le proprietà di testo indicizzate. Anche se la colonna non è necessaria per essere una proprietà di testo, i risultati potrebbero essere senza significato se la colonna è un altro tipo di dati. Il nome della colonna può essere un identificatore regolare o delimitato e è necessario separarlo dalla condizione in base a una virgola. Se non viene fornita alcuna condizione fulltext, viene usata la colonna Contenuto, che è il corpo del documento.

È possibile specificare le impostazioni locali di ricerca per identificare i moduli di word breaker e inflectional appropriati per la query di ricerca. I valori delle impostazioni locali validi sono un identificatore di codice del linguaggio standard di Windows (LCID). Ad esempio, 1033 è l'LCID per Stati Uniti-inglese. Inserire LCID come ultimo elemento all'interno delle 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 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 alcun ordine specifico. I documenti che contengono più termini di ricerca hanno valori di colonna di classificazione più elevati.

Esempio

Nell'esempio seguente vengono cercati documenti contenenti "computer", "software", "hardware" o combinazioni di queste parole:

WHERE FREETEXT('computer software hardware')

Nota

Non è possibile usare la corrispondenza tra parole singole e frasi nello stesso predicato FREETEXT.

 

Quando si eseguono query con contrazione, è necessario evitare la virgoletta 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 una virgolette doppie.

La sintassi seguente ha esito positivo:

WHERE FREETEXT(*,'"We''ll meet next week"')

Riferimento

CONTAINS Predicato

Clausola WHERE

Informazioni concettuali

Predicati non full-text