Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
É possível configurar um índice de texto completo para dar suporte à pesquisa com escopo de propriedade, como Author e Title, para tipos de documento com suporte em uma coluna de dados binários varbinary(max) (incluindo FILESTREAM) ou image. Sem essa configuração, consultas em texto completo realizam buscas genéricas em todo o documento, sem distinguir o conteúdo das propriedades do conteúdo do corpo. Essa forma de busca no escopo da propriedade é conhecida como pesquisa por propriedade.
O filtro associado (IFilter) determina se a pesquisa de propriedade é possível em um tipo de documento específico. Em alguns tipos de documento, o IFilter associado extrai algumas ou todas as propriedades definidas para esse tipo de documento, bem como o conteúdo do corpo do documento. É possível configurar um índice de texto completo para oferecer suporte à pesquisa de propriedade somente em propriedades que são extraídas por um IFilter durante a indexação de texto completo. Entre os IFilters que extraem várias propriedades de documentos estão os IFilters para tipos de documentos do Microsoft Office (como .docx, .xlsx, e .pptx). Por outro lado, o IFilter XML não emite propriedades.
Como a Pesquisa de Texto Completo funciona com propriedades de pesquisa
Full-Text Busca suporta a busca de propriedades atribuindo um ID interno de propriedade a cada propriedade registrada e armazenando esses IDs no índice de texto completo.
Identificadores internos de propriedade
O Mecanismo de Texto Completo arbitrariamente atribui a cada propriedade registrada uma ID de propriedade interna, que identifica exclusivamente a propriedade nessa lista de pesquisa específica e que é específica a essa lista de propriedades de pesquisa. Assim, se uma propriedade for adicionada a várias listas de propriedades de pesquisa, sua ID de propriedade interna provavelmente será diferente entre as várias listas.
Quando uma propriedade é registrada em uma lista de pesquisa, o Mecanismo de Texto Completo atribui arbitrariamente uma ID de propriedade interna à propriedade. A identificação interna da propriedade é um número inteiro que identifica de forma exclusiva a propriedade nessa lista de propriedades de pesquisa.
A ilustração a seguir mostra uma exibição lógica de uma lista de propriedades de pesquisa que especifica duas propriedades, Title e Keywords. O nome da lista de propriedades para Palavras-chave é Tags. Essas propriedades pertencem ao mesmo conjunto de propriedades, cujo GUID é f29f85e0-4ff9-1068-ab91-08002b27b3d9. Os identificadores inteiros da propriedade são 2 para Título e 5 para Tags (Palavras-chave). O Mecanismo de Texto Completo mapeia arbitrariamente cada propriedade para uma ID de propriedade interna que é exclusiva à lista de propriedades de pesquisa. A ID de propriedade interna para a propriedade Title é 1 e a ID de propriedade interna para a propriedade Tags é 2.
A ID de propriedade interna provavelmente será diferente do identificador de inteiro da propriedade. Se uma determinada propriedade for registrada para várias listas de propriedades de pesquisa, uma ID de propriedade interna diferente poderá ser atribuída para cada lista de propriedades de pesquisa. Por exemplo, a ID de propriedade interna poderia ser 4 em uma lista de propriedades de pesquisa, 1 em outra, 3 em outra, e assim por diante. Em contrapartida, o identificador inteiro da propriedade é intrínseco à propriedade e permanece o mesmo em qualquer lugar em que a propriedade seja usada.
Índice de propriedades registradas
Depois que um índice de texto completo é associado a uma lista de propriedades de pesquisa, o índice deve ser populado novamente para indexar termos de pesquisa específicos da propriedade. Durante a indexação de texto completo, o conteúdo de todas as propriedades é armazenado no índice de texto completo juntamente com outro conteúdo. No entanto, ao indexar um termo de pesquisa encontrado em uma propriedade registrada, o indexador de texto completo também armazenará a ID de propriedade interna correspondente com o termo. Em contraste, se uma propriedade não está registrada, ela é armazenada no índice de texto completo como se fizesse parte do corpo do documento, e tem valor zero para o ID interno da propriedade.
A ilustração a seguir mostra uma exibição lógica de como os termos de pesquisa aparecem em um índice de texto completo associado à lista de propriedades de pesquisa mostrada na ilustração anterior. Um documento de exemplo, Documento 1, contém três propriedades (Título, Autor e Palavras-Chave), além do corpo do documento. Para as propriedades Título e Palavras-chave, que são especificadas na lista de propriedades de pesquisa, os termos de pesquisa são associados às IDs internas de propriedade correspondentes no índice de texto completo. Em contrapartida, o conteúdo da propriedade Author é indexado como se fosse parte do corpo do documento. Isso significa que registrar uma propriedade aumenta um pouco o tamanho do índice de texto completo, dependendo da quantidade de conteúdo armazenada na propriedade.
Termos de busca na propriedade Título (Favorite, Biking, e Trails) estão associados ao ID interno da propriedade atribuído ao Título para este índice, 1. Os termos de busca na propriedade Palavras-chave (biking e mountain) estão associados ao ID interno da propriedade atribuído às Tags para este índice, 2. Para termos de busca na propriedade Autor (Jane e Doe) e termos de busca no corpo do documento, o ID interno da propriedade é 0. O termo biking ocorre na propriedade Título, na propriedade Palavras-chave (Tags) e no corpo do documento. Uma pesquisa de propriedade por biking na propriedade Title ou Keywords (Tags) retornaria esse documento nos resultados. Uma consulta genérica em texto completo para biking também retornaria esse documento, como se o índice não estivesse configurado para busca de propriedades. Uma pesquisa de propriedade por biking na propriedade Author não retornaria esse documento.
Uma consulta de texto completo restrita a uma propriedade usa os IDs internos de propriedade registrados na lista atual de propriedades de pesquisa do índice de texto completo.
Impacto de possibilitar a busca de imóveis
Configurar um índice de texto completo para oferecer suporte à pesquisa em uma ou mais propriedades aumenta um pouco o tamanho do índice, dependendo do número de propriedades que você especifica na sua lista de propriedades de pesquisa e do conteúdo de cada propriedade.
Ao testar corpuses típicos de documentos do Microsoft Word, Excel e PowerPoint, um índice em texto completo foi configurado para indexar propriedades típicas de busca. A indexação dessas propriedades aumentou o tamanho do índice do texto completo em aproximadamente 5%. Esse aumento aproximado de tamanho provavelmente é típico da maioria dos corpus de documentos. No entanto, em última análise, o aumento de tamanho depende da quantidade de dados de propriedade em um determinado corpus de documentos em relação à quantidade total de dados.
Crie uma lista de busca de propriedades e ative a busca de propriedades
Para possibilitar a busca de propriedades, crie uma lista de propriedades de busca, adicione uma ou mais propriedades à lista e então associe a lista a um índice em texto completo.
Crie uma lista de propriedades de busca
Crie uma lista de propriedades de busca usando Transact-SQL ou SQL Server Management Studio.
Crie uma lista de imóveis de busca em Transact-SQL
Use a CREATE SEARCH PROPERTY LIST declaração e forneça pelo menos um nome para a lista.
Crie uma lista de propriedades de busca no SQL Server Management Studio
No Pesquisador de Objetos, expanda o servidor.
Expanda Bancos de Dados e, em seguida, expanda o banco de dados em que você deseja criar a lista de propriedades de pesquisa.
Expanda Armazenamento e, em seguida, clique com o botão direito em Listas de Propriedades de Pesquisa.
Selecione Nova Lista de Propriedades de Pesquisa.
Especifique o nome da lista de propriedades.
Opcionalmente, especifique outra pessoa como proprietária da lista de propriedades.
Selecione uma das opções a seguir:
Criar uma lista de propriedades de pesquisa vazia
Criar a partir de uma lista de propriedades de pesquisa existente
Para obter mais informações, consulte CREATE SEARCH PROPERTY LIST.
Selecione OK.
Adicionar propriedades a uma lista de propriedades de busca
A pesquisa de propriedade exige a criação de uma lista de propriedades de pesquisa e a especificação de uma ou mais propriedades que você deseja tornar pesquisáveis. Quando você adiciona uma propriedade a uma lista de propriedades de pesquisa, a propriedade é registrada para essa lista específica. Para adicionar uma propriedade a uma lista de propriedades de pesquisa, são necessários os seguintes valores:
GUID do conjunto de propriedades
Cada propriedade de pesquisa pertence a um único conjunto de propriedades que contém um grupo de propriedades relacionadas. Cada conjunto de propriedades é identificado por um GUID (identificador global exclusivo).
Identificador inteiro da propriedade
Cada propriedade de pesquisa possui um identificador que é exclusivo no conjunto de propriedades. Para uma determinada propriedade, o identificador pode ser um inteiro ou uma string; no entanto, a pesquisa de texto completo aceita apenas identificadores inteiros.
Nome da propriedade
Esse é o nome que os usuários especificarão nas consultas de texto completo para pesquisar na propriedade. Um nome de propriedade pode conter espaços internos. O tamanho máximo é de 256 caracteres.
O nome da propriedade pode ser qualquer um destes:
O nome canônico da propriedade no Windows, como
System.AuthorouSystem.Contact.HomeAddress.Um nome amigável fácil de ser lembrado pelos usuários. Algumas propriedades estão associadas a um nome conhecido e amigável para o usuário, como "Autor" ou "Endereço residencial", mas você pode especificar o nome mais apropriado para seus usuários.
Observação
Uma determinada combinação do GUID do conjunto de propriedades e do identificador de propriedade deve ser exclusiva em uma determinada lista de propriedades de pesquisa. Isso significa que você não pode adicionar a mesma propriedade mais de uma vez com nomes ou descrições diferentes.
Descrição da propriedade (opcional)
Ao adicionar uma propriedade de pesquisa a uma lista de propriedades de pesquisa, você pode fornecer uma descrição opcional. Por exemplo, você pode querer fornecer informações sobre uma propriedade que não sejam evidentes pelo nome, ou talvez queira descrever o conjunto de propriedades da propriedade.
Obter valores para uma lista de propriedades de busca
Adicione uma propriedade a uma lista de busca de propriedades em Transact-SQL
Use a instrução ALTER SEARCH PROPERTY LIST com os valores obtidos usando um dos métodos descritos no artigo, Localizar GUIDs do Conjunto de Propriedades e IDs de Inteiro de Propriedade para Propriedades de Pesquisa.
O exemplo a seguir demonstra o uso desses valores ao adicionar uma propriedade a uma lista de propriedades de pesquisa:
ALTER SEARCH PROPERTY LIST DocumentTablePropertyList
ADD 'Title' WITH (
PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9',
PROPERTY_INT_ID = 2,
PROPERTY_DESCRIPTION = 'System.Title - Title of the item.'
);
Adicionar uma propriedade a uma lista de propriedades de busca no SQL Server Management Studio
Use a caixa de diálogo Propriedades da Lista de Propriedades de Pesquisa para adicionar e remover propriedades de pesquisa. Você pode encontrar Listas de Propriedades de Pesquisa no Pesquisador de Objetos, no nó Armazenamento do banco de dados associado.
Associe uma lista de propriedades de busca a um índice em texto completo
Para que um índice de texto completo ofereça suporte à pesquisa por propriedades nas propriedades registradas em uma lista de propriedades de pesquisa, você precisa associar a lista de propriedades de pesquisa ao índice e preencher novamente o índice. Popular novamente o índice de texto completo cria entradas de índice específico da propriedade para pesquisar termos em cada uma das propriedades registradas.
Enquanto o índice de texto completo permanecer associado a esta lista de propriedades de pesquisa, uma consulta de texto completo poderá usar a opção PROPERTY do predicado CONTAINS para pesquisar propriedades registradas nessa lista de propriedades de pesquisa.
Se você alterar a lista de propriedades de pesquisa associada ao índice de texto completo, o índice deverá ser recriado para ficar em um estado consistente. O índice é truncado imediatamente e fica vazio até que a população completa seja executada. Para mais informações sobre quando a alteração da lista de propriedades de busca causa a reconstrução do índice, veja "Observações", em ALTER FULLTEXT INDEX.
Associe uma lista de propriedades de busca a um índice em texto completo em Transact-SQL
Use a instrução ALTER FULLTEXT INDEX com a cláusula SET SEARCH PROPERTY LIST = <property_list_name>.
Associe uma lista de propriedades de busca a um índice em texto completo no SQL Server Management Studio
Especifique um valor para Lista de Propriedades de Pesquisa na página Geral da caixa de diálogo Propriedades do Índice de Texto Completo .
Consultar propriedades de busca com CONTAINS
A sintaxe básica de CONTAINS para uma consulta de texto completo restrita a uma propriedade é a seguinte:
SELECT column_name
FROM table_name
WHERE CONTAINS (PROPERTY(column_name, 'property_name'), '<contains_search_condition>');
Por exemplo, a consulta a seguir pesquisa em uma propriedade indexada, Title, na coluna Document da tabela Production.Document do banco de dados AdventureWorks . A consulta retorna apenas documentos cuja propriedade Title contém a cadeia de caracteres Maintenance ou Repair.
USE AdventureWorks2025;
GO
SELECT Document
FROM Production.Document
WHERE CONTAINS (PROPERTY(Document, 'Title'), 'Maintenance OR Repair');
GO
Este exemplo presume que o IFilter para o documento extrai sua propriedade Title, que a propriedade Title é adicionada à lista de propriedades de pesquisa e que a lista de propriedades de pesquisa está associada ao índice de texto completo.
Gerenciar listas de propriedades de busca
Depois de criar uma lista de propriedades de busca, você pode visualizá-la, alterá-la ou excluí-la.
Visualize e altere uma lista de propriedades de busca
Visualize e altere uma lista de propriedades de busca usando Transact-SQL ou SQL Server Management Studio.
Visualize e altere uma lista de propriedades de busca em Transact-SQL
Use a ALTER SEARCH PROPERTY LIST instrução para adicionar ou remover propriedades de busca.
Visualize e altere uma lista de propriedades de busca no SQL Server Management Studio
No Pesquisador de Objetos, expanda o servidor.
Expanda Bancos de Dadose, em seguida, expanda o banco de dados.
Expanda o Armazenamento.
Expanda Listas de Propriedades de Pesquisa para exibir as listas de propriedades de pesquisa.
Clique com o botão direito do mouse na lista de propriedades e selecione Propriedades.
Na caixa de diálogo Editor de Lista de Propriedades de Pesquisa, use a grade de Propriedades para adicionar ou remover propriedades de pesquisa:
- Para remover uma propriedade de documento, selecione o cabeçalho da linha à esquerda da propriedade e pressione DEL.
Para adicionar uma propriedade de documento, selecione a linha vazia no final da lista, à direita do
*, e insira os valores da nova propriedade.Para obter informações sobre esses valores, veja Editor da Lista de Pesquisa de Propriedades. Para saber como obter esses valores para propriedades definidas pela Microsoft, veja Localizar GUIDs de conjuntos de propriedades e IDs inteiros de propriedades para propriedades de pesquisa. Para obter informações sobre propriedades definidas por um ISV (fornecedor independente de software), consulte a documentação daquele fornecedor.
Selecione OK.
Exclua uma lista de propriedades de busca
Você não pode eliminar uma lista de propriedades de um banco de dados enquanto a lista está associada a qualquer índice em texto completo.
Exclua uma lista de propriedades de busca em Transact-SQL
Use a instrução DROP SEARCH PROPERTY LIST .
Exclua uma lista de propriedades de busca no SQL Server Management Studio
No Pesquisador de Objetos, expanda o servidor.
Expanda Bancos de Dadose, em seguida, expanda o banco de dados.
Expanda Armazenamento e o nó Listas de Propriedades de Pesquisa.
Clique com o botão direito na lista de propriedades que deseja deletar e selecione Excluir.
Selecione OK.