Condividi tramite


Predicato CONTAINS

Il predicato CONTAINS fa parte della clausola WHERE e supporta la ricerca di parole e frasi nelle colonne di testo. Il predicato CONTAINS include funzionalità per la corrispondenza di parole, la corrispondenza di forme di parole flessive, la ricerca con caratteri jolly e la ricerca tramite prossimità. È anche possibile applicare pesi in un predicato CONTAINS per impostare l'importanza delle colonne in cui viene trovato il termine di ricerca. Il predicato CONTAINS è più adatto per le corrispondenze esatte, a differenza del predicato FREETEXT , più adatto per trovare documenti contenenti combinazioni delle parole di ricerca distribuite in tutta la colonna. Le ricerche non rilevano la distinzione tra maiuscole e minuscole.

Di seguito è riportata la sintassi di base del predicato CONTAINS:

...CONTAINS(["<fulltext_column>",]'<contains_condition>'[,<LCID>])...

Il riferimento fulltext_column è facoltativo. Con esso, è possibile limitare la ricerca a una singola colonna o a un gruppo di colonne in base al quale viene testato il predicato CONTAINS. Quando la colonna full-text viene specificata come "ALL" o "*", vengono eseguite ricerche in tutte le proprietà di testo indicizzate. Sebbene la colonna non sia 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 colonna full-text, viene utilizzata la colonna System.Search.Contents, ovvero il corpo del documento.

La parte LCID del predicato specifica le impostazioni locali di ricerca. In questo modo viene indicato al motore di ricerca di usare il word breaker e i moduli inflezionari appropriati per la query di ricerca. Per specificare le impostazioni locali, specificare l'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 CONTAINS. 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.

La parte contains_condition deve essere racchiusa tra virgolette singole per singole parole o virgolette doppie per le frasi ed è costituita da uno o più termini di ricerca contenuto combinati usando gli operatori logici AND o OR. È possibile usare l'operatore unario facoltativo NOT dopo un operatore AND per negare il valore logico di un termine di ricerca contenuto.

Nota

L'operatore NOT può verificarsi solo dopo AND. Non è possibile utilizzare l'operatore NOT se è presente una sola condizione di corrispondenza o dopo l'operatore OR .

È possibile usare le parentesi per raggruppare e annidare i termini di ricerca del contenuto. Nella tabella seguente viene descritto l'ordine di precedenza per gli operatori logici.

Ordine (precedenza) Operatore logico
Primo (più alto) NOT
Secondo AND
Terzo (più basso) OR

Gli operatori logici dello stesso tipo sono associativi e non esiste alcun ordine di calcolo specificato. Ad esempio, ( A AND B) AND (C AND D) possono essere calcolati (B AND C) AND (A AND D) e (A AND D) senza alcuna modifica nel risultato logico.

Nella tabella seguente vengono descritti i tipi di termini di ricerca del contenuto.

Tipo Descrizione Esempi
Word Una singola parola senza spazi o altri segni di punteggiatura. Le virgolette doppie non sono necessarie.
...WHERE CONTAINS ('computer')
Frase Più parole o spazi inclusi.

... WHERE CONTAINS ('"software computer"')

In alternativa, per usare un segno di virgoletta doppia:

... WHERE CONTAINS ('"computer ""science"" "')

Wildcard (Carattere jolly) Parole o frasi con l'asterisco (*) aggiunto alla fine. Per altre informazioni, vedere Uso di caratteri jolly nel predicato CONTAINS.

... WHERE CONTAINS ('"compu*"')

Matches "computer", "computers", "computation", and "compulsory"

Colonna full-text Nome della colonna della proprietà in base al quale trovare la corrispondenza con la query rimanente.
...WHERE CONTAINS (System.Author,'"James" OR "Juan"')
Boolean Parole, frasi e stringhe con caratteri jolly combinate usando gli operatori booleani AND, OR o NOT. Racchiudere i termini booleani tra virgolette doppie.

... WHERE CONTAINS ('"computer monitor" AND "software program" AND "install component"')

... WHERE CONTAINS (' "computer" AND "software" AND "install" ' )

...WHERE CONTAINS ('"computer software install"')

Near Parole, frasi o caratteri jolly separati dalla funzione NEAR. Per altre informazioni, vedere NEAR Term.
...WHERE CONTAINS
('"computer" NEAR "software"')
FormsOf Trova la corrispondenza con una parola e le versioni flessive di tale parola. Per altre informazioni, vedere FormsOF Term.For more information, see FORMSOF Term.

... WHERE CONTAINS ('FORMSOF (INFLECTIONAL, "happy"))

Matches "happy", "happier", "happiest", "happily", and so on.

IsAbout Combina i risultati corrispondenti su più termini di ricerca di parole, frasi o caratteri jolly. Ogni termine di ricerca può essere ponderato facoltativamente. Facoltativamente, è possibile specificare il metodo di calcolo della classificazione, che combina i pesi e il numero di elementi corrispondenti al documento. Per altre informazioni, vedere ISABOUT Term.For more information, see ISABOUT Term.
...WHERE CONTAINS
('ISABOUT ( "computer" WEIGHT (0.75) ,
    "software" WEIGHT (0.25) ,
    "development" WEIGHT (0.255)
 ) RANKMETHOD INNER PRODUCT
')

Questa sezione include gli argomenti seguenti:

Riferimento

Clausola WHERE

Informazioni concettuali

Predicati full-text

Predicati non full-text