Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Pesquisas por correspondências precisas ou difusas (menos precisas) para palavras e frases isoladas, palavras dentro de uma certa distância umas das outras, ou correspondências ponderadas no SQL Server. CONTAINS é um predicado usado na cláusula WHERE de uma instrução Transact-SQL SELECT para realizar pesquisa em texto completo do SQL Server em colunas indexadas em texto completo contendo tipos de dados baseados em caracteres.
O CONTAINS pode pesquisar:
Uma palavra ou frase.
O prefixo de uma palavra ou frase.
Uma palavra perto de outra palavra.
Uma palavra gerada flexionalmente a partir de outra (por exemplo, a palavra drive é o radical flexivo de drives, drove, driving e driven).
Uma palavra que é sinónimo de outra palavra usando um dicionário de sinónimos (por exemplo, a palavra "metal" pode ter sinónimos como "alumínio" e "aço").
Para obter informações sobre as formas de pesquisas de texto completo suportadas pelo SQL Server, consulte Consulta com Full-Textde Pesquisa .
Transact-SQL convenções de sintaxe
Sintaxe
CONTAINS (
{
column_name | ( column_list )
| *
| PROPERTY ( { column_name }, 'property_name' )
}
, '<contains_search_condition>'
[ , LANGUAGE language_term ]
)
<contains_search_condition> ::=
{
<simple_term>
| <prefix_term>
| <generation_term>
| <generic_proximity_term>
| <custom_proximity_term>
| <weighted_term>
}
|
{ ( <contains_search_condition> )
[ { <AND> | <AND NOT> | <OR> } ]
<contains_search_condition> [ ...n ]
}
<simple_term> ::=
{ word | "phrase" }
<prefix term> ::=
{ "word*" | "phrase*" }
<generation_term> ::=
FORMSOF ( { INFLECTIONAL | THESAURUS } , <simple_term> [ ,...n ] )
<generic_proximity_term> ::=
{ <simple_term> | <prefix_term> } { { { NEAR | ~ }
{ <simple_term> | <prefix_term> } } [ ...n ] }
<custom_proximity_term> ::=
NEAR (
{
{ <simple_term> | <prefix_term> } [ ,...n ]
|
( { <simple_term> | <prefix_term> } [ ,...n ] )
[, <maximum_distance> [, <match_order> ] ]
}
)
<maximum_distance> ::= { integer | MAX }
<match_order> ::= { TRUE | FALSE }
<weighted_term> ::=
ISABOUT
( {
{
<simple_term>
| <prefix_term>
| <generation_term>
| <proximity_term>
}
[ WEIGHT ( weight_value ) ]
} [ ,...n ]
)
<AND> ::=
{ AND | & }
<AND NOT> ::=
{ AND NOT | &! }
<OR> ::=
{ OR | | }
Arguments
column_name
É o nome de uma coluna indexada em texto completo da tabela especificada na cláusula FROM. As colunas podem ser do tipo char, varchar, nchar, nvarchar, texto, ntext, image, xml, varbinary, ou varbinary(max).
column_list
Especifica duas ou mais colunas, separadas por vírgulas.
column_list deve ser colocado entre parênteses. A menos que language_term seja especificado, o idioma de todas as colunas de column_list deve ser o mesmo.
*
Especifica que a consulta pesquisa todas as colunas indexadas em texto completo na tabela especificada na cláusula FROM para a condição de pesquisa dada. As colunas na cláusula CONTAINS devem vir de uma única tabela que tenha um índice em texto completo. A menos que language_term seja especificado, o idioma de todas as colunas da tabela deve ser o mesmo.
PROPRIEDADE ( column_name , 'property_name')
Aplica-se a: SQL Server 2012 (11.x) e posterior.
Especifica uma propriedade de documento sobre a qual procurar a condição de pesquisa especificada.
Importante
Para que a consulta devolva quaisquer linhas, property_name deve ser especificada na lista de propriedades de pesquisa do índice de texto completo e o índice de texto completo deve conter entradas específicas de propriedade para property_name. Para mais informações, consulte Pesquisar Propriedades de Documentos com Pesquisar Listas de Propriedades.
LÍNGUA language_term
É a linguagem a usar para quebra de palavras, stemming, expansões e substituições de tesauros, e remoção de palavras de ruído (ou stopword) como parte da consulta. Este parâmetro é opcional.
Se documentos de diferentes línguas forem armazenados juntos como objetos binários grandes (BLOBs) numa única coluna, o identificador de localização (LCID) de um dado documento determina que linguagem usar para indexar o seu conteúdo. Ao consultar essa coluna, especificar LANGUAGE language_term pode aumentar a probabilidade de uma boa correspondência.
language_term pode ser especificado como uma cadeia, valor inteiro ou hexadecimal correspondente ao LCID de uma linguagem. Se language_term for especificado, o idioma que ele representa será aplicado a todos os elementos da condição de pesquisa. Se nenhum valor for especificado, o idioma de texto completo da coluna será usado.
Quando especificada como uma cadeia, language_term corresponde ao valor da coluna alias na vista de compatibilidade sys.syslanguages (Transact-SQL). A cadeia de caracteres deve ser colocada entre aspas simples, como em 'language_term'. Quando especificado como um inteiro, language_term é o LCID real que identifica o idioma. Quando especificado como um valor hexadecimal, language_term é 0x seguido pelo valor hexadecimal do LCID. O valor hexadecimal não deve exceder oito dígitos, incluindo zeros à esquerda.
Se o valor estiver no formato DBCS (conjunto de caracteres de byte duplo), o SQL Server o converterá em Unicode.
Se a linguagem especificada não for válida ou não houver recursos instalados que correspondam a essa linguagem, o SQL Server devolve um erro. Para usar os recursos de linguagem neutra, especifique 0x0 como language_term.
<
contains_search_condition>
Especifica o texto a ser pesquisado em column_name e as condições para uma correspondência.
<contains_search_condition> é nvarchar. Uma conversão implícita ocorre quando outro tipo de dados de caractere é usado como entrada. Os tipos de dados de cadeia de caracteres grandes nvarchar(max) e varchar(max) não podem ser usados. No exemplo a seguir, a variável @SearchWord, que é definida como varchar(30), causa uma conversão implícita no predicado CONTAINS.
USE AdventureWorks2022;
GO
DECLARE @SearchWord VARCHAR(30)
SET @SearchWord ='performance'
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, @SearchWord);
Como a "deteção de parâmetros" não funciona na conversão, use nvarchar para obter um melhor desempenho. No exemplo, declare @SearchWord como nvarchar(30).
USE AdventureWorks2022;
GO
DECLARE @SearchWord NVARCHAR(30)
SET @SearchWord = N'performance'
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, @SearchWord);
Também pode usar a dica de consulta OPTIMIZE FOR para casos em que é gerado um plano não ótimo.
palavra
É uma sequência de caracteres sem espaços ou pontuação.
Frase
É uma ou mais palavras com espaços entre cada palavra.
Observação
Algumas línguas, como as escritas em algumas partes da Ásia, podem ter frases que consistem em uma ou mais palavras sem espaços entre elas.
<simple_term>
Especifica uma correspondência para uma palavra ou frase exata. Exemplos de termos simples válidos são "blueberry", blueberry e "Microsoft SQL Server". As frases devem ser incluídas entre aspas duplas (""). As palavras de uma frase devem aparecer na mesma ordem especificada em< contains_search_condition> como aparecem na coluna da base de dados. A pesquisa por caracteres na palavra ou expressão não é sensível a maiúsculas e minúsculas. Palavras de ruído (ou stopwords) (como a, e, ou the) em colunas indexadas de texto completo não são armazenadas no índice de texto completo. Se uma palavra de ruído for usada numa única pesquisa de palavras, o SQL Server devolve uma mensagem de erro indicando que a consulta contém apenas palavras de ruído. O SQL Server inclui uma lista padrão de palavras de ruído no diretório \Mssql\Binn\FTERef de cada instância do SQL Server.
A pontuação é ignorada. Assim, CONTAINS(testing, "computer failure") corresponde uma linha ao valor, "Onde está o meu computador? Não o encontrar seria caro." Para mais informações sobre o comportamento dos quebradores de palavras, consulte Configurar e Gerir Quebradores de Palavras e Stemmers para Pesquisa.
<prefix_term>
Especifica uma correspondência de palavras ou frases que começam pelo texto especificado. Anexe um termo prefixo entre aspas duplas ("") e adicione um asterisco (*) antes da aspas final, de modo a que todo o texto que comece com o termo simples especificado antes do asterisco seja correspondido. A cláusula deve ser especificada desta forma: CONTAINS (column, '"text*"'). O asterisco corresponde a zero, um ou mais caracteres (da palavra raiz ou palavras na palavra ou frase). Se o texto e o asterisco não forem delimitados por aspas duplas, de modo que o predicado for CONTAINS (column, 'text*'), a pesquisa em texto completo considera o asterisco como um carácter e procura correspondências exatas com text*. O motor de texto completo não encontrará palavras com o carácter asterisco (*) porque os quebra-palavras normalmente ignoram esses caracteres.
Quando <prefix_term> é uma frase, cada palavra contida nela é considerada um prefixo separado. Portanto, uma consulta especificando um termo de prefixo de "vinho local*" corresponde a quaisquer linhas com o texto de "vinícola local", "localmente ganhou e jantou", e assim por diante.
<generation_term>
Especifica uma correspondência de palavras quando os termos simples incluídos incluem variantes da palavra original para procurar.
FLEXIÃO
Especifica que o stemmer dependente da linguagem deve ser usado no termo simples especificado. O comportamento do stemmer é definido com base nas regras de stemming de cada linguagem específica. A linguagem neutra não tem um stemmer associado. A linguagem das colunas a consultar é usada para se referir ao stemmer desejado. Se language_term for especificado, o stemmer correspondente a essa língua é usado.
Um dado< simple_term> dentro de um <generation_term> não corresponderá tanto aos substantivos como aos verbos.
THESAURUS
Especifica que o tesauro correspondente à linguagem de texto completo da coluna, ou à linguagem especificada na consulta, é utilizado. O padrão ou padrões mais longos do <simple_term> são comparados com o dicionário de sinônimos e são gerados termos adicionais para expandir ou substituir o padrão original. Se não for encontrada uma correspondência para toda ou parte do <simple_term>, a parte não correspondente é tratada como um simple_term. Para mais informações sobre o dicionário de pesquisa em texto integral, consulte Configurar e Gerir Ficheiros de Tesauros para Full-Text Pesquisa.
<generic_proximity_term>
Especifica uma correspondência de palavras ou frases que devem estar no documento que está a ser pesquisado.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Recomendamos que utilize <custom_proximity_term>.
PERTO | ~
Indica que a palavra ou frase de cada lado do operador NEAR ou ~ deve ocorrer num documento para que uma correspondência seja retornada. Deve especificar dois termos de pesquisa. Um dado termo de pesquisa pode ser uma única palavra ou uma frase delimitada por aspas duplas ("frase").
Vários termos de proximidade podem ser encadeados, como em a NEAR b NEAR c ou a ~ b ~ c. Os termos de proximidade encadeados devem estar todos no documento para que uma correspondência seja devolvida.
Por exemplo, CONTAINS(*column_name*, 'fox NEAR chicken') e CONTAINSTABLE(*table_name*, *column_name*, 'fox ~ chicken') ambos devolveriam quaisquer documentos na coluna especificada que contenham tanto "raposa" como "frango". Além disso, o CONTAINSTABLE devolve uma classificação para cada documento com base na proximidade de "raposa" e "frango". Por exemplo, se um documento contém a frase "A raposa comeu o frango", a sua classificação seria elevada porque os termos estão mais próximos entre si do que noutros documentos.
Para mais informações sobre termos genéricos de proximidade, consulte Pesquisa por Palavras Próximas de Outra Palavra com NEAR.
<custom_proximity_term>
Aplica-se a: SQL Server 2012 (11.x) e posterior.
Especifica uma correspondência de palavras ou expressões e, opcionalmente, a distância máxima permitida entre termos de pesquisa. Também pode especificar que os termos de pesquisa devem ser encontrados exatamente na ordem em que os especifica (<match_order>).
Um dado termo de pesquisa pode ser uma única palavra ou uma frase delimitada por aspas duplas ("frase"). Todos os termos especificados devem constar do documento para que a correspondência seja devolvida. Deve especificar pelo menos dois termos de pesquisa. O número máximo de termos de pesquisa é 64.
Por defeito, o termo de proximidade personalizado devolve quaisquer linhas que contenham os termos especificados, independentemente da distância intermédia e independentemente da sua ordem. Por exemplo, para corresponder à consulta seguinte, um documento teria simplesmente de conter term1 e "term3 term4" em qualquer lugar, em qualquer ordem:
CONTAINS(column_name, 'NEAR(term1,"term3 term4")')
Os parâmetros opcionais são os seguintes:
<maximum_distance>
Especifica a distância máxima permitida entre os termos de pesquisa no início e no fim de uma cadeia para que essa cadeia seja considerada correspondência.
integer
Especifica um inteiro positivo de 0 a 4294967295. Este valor controla quantos termos não de pesquisa podem ocorrer entre o primeiro e o último termo de pesquisa, excluindo quaisquer termos de pesquisa adicionais especificados.
Por exemplo, a consulta seguinte procura AA e BB, em qualquer ordem, dentro de uma distância máxima de cinco.
CONTAINS(column_name, 'NEAR((AA,BB),5)')
A corda AA one two three four five BB seria uma correspondência. No exemplo seguinte, a consulta especifica para três termos de pesquisa, AA, BB, e CC dentro de uma distância máxima de cinco:
CONTAINS(column_name, 'NEAR((AA,BB,CC),5)')
Esta consulta corresponderia à seguinte cadeia, na qual a distância total é cinco:
BB one two CC three four five A A
Note que o termo de pesquisa interno, CC, não é contado.
MAX
Devolve quaisquer linhas que contenham os termos especificados, independentemente da distância entre elas. Este é o padrão.
<match_order>
Especifica se os termos devem ocorrer na ordem especificada para serem devolvidos por uma consulta de pesquisa. Para especificar <match_order>, também deve especificar <maximum_distance>.
<match_order> assume um dos seguintes valores:
VERDADEIRO
Faz cumprir a ordem especificada dentro dos prazos. Por exemplo, NEAR(A,B) corresponderia apenas A ... Ba .
FALSE
Ignora a ordem especificada. Por exemplo, NEAR(A,B) corresponderiam a ambos A ... B e B ... A.
Este é o padrão.
Por exemplo, o seguinte termo de proximidade pesquisa as palavras "Monday", "Tuesday" e "Wednesday" na ordem especificada, independentemente da distância entre elas:
CONTAINS(column_name, 'NEAR ((Monday, Tuesday, Wednesday), MAX, TRUE)')
Para mais informações sobre o uso de termos de proximidade personalizados, consulte Pesquisar Palavras Próximas de Outra Palavra com NEAR.
<weighted_term>
Especifica que as linhas correspondentes (devolvidas pela consulta) correspondem a uma lista de palavras e frases, cada uma opcionalmente com um valor de peso.
ISABOUT
Especifica a <weighted_term> palavra-chave.
PESO(weight_value)
Especifica um valor de peso, que é um número de 0.0 a 1.0. Cada componente em< weighted_term> pode incluir um weight_value.
weight_value é uma forma de alterar como várias partes de uma consulta afetam o valor de classificação atribuído a cada linha que corresponde à consulta. WEIGHT não afeta os resultados das consultas CONTAINS, mas WEIGHT afeta a classificação nas consultas CONTAINSTABLE .
Observação
O separador decimal é sempre um ponto, independentemente da localização do sistema operativo.
{ E | & } | { E NÃO | &! } | { OU | | }
Especifica uma operação lógica entre dois que contém condições de pesquisa.
{ E | & }
Indica que as condições de pesquisa dos dois contém devem ser cumpridas para uma correspondência. O símbolo do e ampersh (&) pode ser usado em vez da palavra-chave AND para representar o operador AND.
{ E NÃO | &! }
Indica que a segunda condição de pesquisa não deve estar presente para uma correspondência. O ampersand seguido do símbolo do ponto de exclamação (&!) pode ser usado em vez da palavra-chave AND NOT para representar o operador AND NOT.
{ OU | | }
Indica que qualquer um dos dois contém condições de pesquisa que devem ser cumpridas para uma correspondência. O símbolo da barra (|) pode ser usado em vez da palavra-chave OR para representar o operador OR.
Quando <contains_search_condition> contém grupos entre parênteses, estes grupos são avaliados primeiro. Após avaliar grupos entre parênteses, estas regras aplicam-se quando se usam estes operadores lógicos com condições de pesquisa contains:
O NOT é aplicado antes do E.
O NOT só pode ocorrer após o AND, como em AND NOT. O operador OR NOT não é permitido. O NOT não pode ser especificado antes do primeiro mandato. Por exemplo,
CONTAINS (mycolumn, 'NOT "phrase_to_search_for" ' )não é válido.AND é aplicado antes do OR.
Operadores booleanos do mesmo tipo (AND, OR) são associativos e podem, portanto, ser aplicados em qualquer ordem.
n
É um marcador de posição que indica que múltiplas condições de pesquisa CONTAINS e termos dentro delas podem ser especificados.
Observações gerais
Predicados e funções de texto completo funcionam em uma única tabela, o que está implícito no predicado FROM. Para pesquisar em várias tabelas, use uma tabela unida na cláusula FROM para pesquisar um conjunto de resultados que seja o produto de duas ou mais tabelas.
Predicados de texto completo não são permitidos na cláusula OUTPUT quando o nível de compatibilidade do banco de dados é definido como 100.
Consultando servidores remotos
Pode usar um nome de quatro partes no predicado CONTAINS ou FREETEXT para consultar colunas indexadas em texto completo das tabelas alvo num servidor ligado. Para preparar um servidor remoto para receber consultas de texto completo, crie um índice de texto completo nas tabelas e colunas de destino no servidor remoto e, em seguida, adicione o servidor remoto como um servidor vinculado.
Comparação entre LIKE e Pesquisa Full-Text
Em contraste com a pesquisa de texto completo, o predicado LIKETransact-SQL funciona apenas em padrões de caracteres. Além disso, você não pode usar o predicado LIKE para consultar dados binários formatados. Além disso, uma consulta LIKE em relação a uma grande quantidade de dados de texto não estruturados é muito mais lenta do que uma consulta de texto completo equivalente em relação aos mesmos dados. Uma consulta LIKE contra milhões de linhas de dados de texto pode demorar minutos a ser retornada; enquanto uma consulta em texto completo pode demorar apenas segundos ou menos contra os mesmos dados, dependendo do número de linhas devolvidas e do seu tamanho. Outra consideração é que o LIKE realiza apenas uma varredura simples de padrões de uma tabela inteira. Uma consulta em texto completo, por outro lado, é consciente da linguagem, aplicando transformações específicas no momento do índice e da consulta, como filtrar palavras finais e fazer expansões de dicionário e flexão. Estas transformações ajudam as consultas em texto completo a melhorar a sua recordação e a classificação final dos seus resultados.
Consultar Múltiplas Colunas (Full-Text Pesquisa)
Pode consultar várias colunas especificando uma lista de colunas para pesquisar. As colunas devem ser da mesma tabela.
Por exemplo, o seguinte CONTÉM pesquisas de consulta para o termo Red nas Name colunas e Color da Production.Product tabela da base de dados de exemplo AdventureWorks2025.
Use AdventureWorks2022;
GO
SELECT Name, Color
FROM Production.Product
WHERE CONTAINS((Name, Color), 'Red');
Examples
A. Usar CONTAINS com <simple_term>
O exemplo seguinte mostra todos os produtos cujo preço de $80.99 contém a palavra Mountain.
USE AdventureWorks2022;
GO
SELECT Name, ListPrice
FROM Production.Product
WHERE ListPrice = 80.99
AND CONTAINS(Name, 'Mountain');
GO
B. Usar CONTAINS e frase com <simple_term>
O exemplo seguinte devolve todos os produtos que contêm a frase Mountain ou Road.
USE AdventureWorks2022;
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' Mountain OR Road ')
GO
C. Usar CONTAINS com <prefix_term>
O exemplo seguinte devolve todos os nomes de produtos com pelo menos uma palavra começando pela cadeia de prefixos na Name coluna.
USE AdventureWorks2022;
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, ' "Chain*" ');
GO
D. Usar CONTAINS e OR com <prefix_term>
O exemplo seguinte devolve todas as descrições de categorias contendo cadeias com prefixos de ou chainfull.
USE AdventureWorks2022;
GO
SELECT Name
FROM Production.Product
WHERE CONTAINS(Name, '"chain*" OR "full*"');
GO
E. Usar CONTAINS com <proximity_term>
Aplica-se a: SQL Server 2012 (11.x) e posterior.
O exemplo seguinte pesquisa na Production.ProductReview tabela todos os comentários que contenham a palavra bike dentro de 10 termos da palavra "control" e na ordem especificada (isto é, onde "bike" precede "control").
USE AdventureWorks2022;
GO
SELECT Comments
FROM Production.ProductReview
WHERE CONTAINS(Comments , 'NEAR((bike,control), 10, TRUE)');
GO
F. Usar CONTAINS com <generation_term>
O exemplo seguinte pesquisa todos os produtos com palavras da forma ride: riding, ridden, e assim sucessivamente.
USE AdventureWorks2022;
GO
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, ' FORMSOF (INFLECTIONAL, ride) ');
GO
G. Usar CONTAINS com <weighted_term>
O exemplo a seguir procura todos os nomes de produtos que contenham as palavras performance, comfortableou smooth, e diferentes pesos são dados a cada palavra.
USE AdventureWorks2022;
GO
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, 'ISABOUT (performance weight (.8),
comfortable weight (.4), smooth weight (.2) )' );
GO
H. Usar CONTAINS com variáveis
O exemplo a seguir usa uma variável em vez de um termo de pesquisa específico.
USE AdventureWorks2022;
GO
DECLARE @SearchWord NVARCHAR(30)
SET @SearchWord = N'Performance'
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, @SearchWord);
GO
I. Usar CONTAINS com um operador lógico (AND)
O exemplo seguinte utiliza a tabela ProductDescription da AdventureWorks2025 base de dados. A consulta utiliza o predicado CONTAINS para procurar descrições em que o ID da descrição não é igual a 5 e a descrição contém tanto a palavra Aluminum como a palavra spindle. A condição de pesquisa utiliza o operador booleano AND.
USE AdventureWorks2022;
GO
SELECT Description
FROM Production.ProductDescription
WHERE ProductDescriptionID <> 5 AND
CONTAINS(Description, 'Aluminum AND spindle');
GO
J. Usar CONTAINS para verificar uma inserção de linha
O exemplo seguinte utiliza CONTAINS dentro de uma subconsulta SELECT. Usando a base de AdventureWorks2025 dados, a consulta obtém o valor de comentário de todos os comentários na tabela ProductReview para um determinado ciclo. A condição de pesquisa utiliza o operador booleano AND.
USE AdventureWorks2022;
GO
INSERT INTO Production.ProductReview
(ProductID, ReviewerName, EmailAddress, Rating, Comments)
VALUES
(780, 'John Smith', 'john@fourthcoffee.com', 5,
'The Mountain-200 Silver from AdventureWorks2008 Cycles meets and exceeds expectations. I enjoyed the smooth ride down the roads of Redmond');
-- Given the full-text catalog for these tables is Adv_ft_ctlg,
-- with change_tracking on so that the full-text indexes are updated automatically.
WAITFOR DELAY '00:00:30';
-- Wait 30 seconds to make sure that the full-text index gets updated.
SELECT r.Comments, p.Name
FROM Production.ProductReview AS r
JOIN Production.Product AS p
ON r.ProductID = p.ProductID
AND r.ProductID = (SELECT ProductID
FROM Production.ProductReview
WHERE CONTAINS (Comments,
' AdventureWorks2008 AND
Redmond AND
"Mountain-200 Silver" '));
GO
K. Consulta sobre uma propriedade de documento
Aplica-se a: SQL Server 2012 (11.x) e posterior.
A consulta seguinte pesquisa numa propriedade indexada, Title, na Document coluna da Production.Document tabela. A consulta devolve apenas documentos cuja Title propriedade contém a cadeia Maintenance ou Repair.
Observação
Para que uma pesquisa de propriedades devolva linhas, o filtro ou filtros que analisam a coluna durante a indexação devem extrair a propriedade especificada. Além disso, o índice em texto completo da tabela especificada deve ter sido configurado para incluir a propriedade. Para mais informações, consulte Pesquisar Propriedades de Documentos com Pesquisar Listas de Propriedades.
Use AdventureWorks2022;
GO
SELECT Document
FROM Production.Document
WHERE CONTAINS(PROPERTY(Document,'Title'), 'Maintenance OR Repair');
GO
Ver também
Introdução ao Full-Text Pesquisa
Criar e gerenciar catálogos Full-Text
CRIAR CATÁLOGO DE TEXTO COMPLETO (Transact-SQL)
CRIAR ÍNDICE DE TEXTO COMPLETO (Transact-SQL)
Criar e gerenciar Full-Text índices
Consulta com Full-Text Pesquisa
CONTIDA (Transact-SQL)
TEXTO LIVRE (Transact-SQL)
FREETEXTTABLE (Transact-SQL)
Consulta com Full-Text Pesquisa
PesquisaFull-Text
Criar consultas de pesquisa Full-Text (Visual Database Tools)
ONDE (Transact-SQL)
Pesquisar propriedades do documento com listas de propriedades de pesquisa