SQL 2008 Armazenando Todas as Informações - 5º Parte – Tipos de dados: Full Text

Criação de catálogo de texto e pesquisa

Full Text Index ajuda para realizar consultas complexas em dados de caracteres. Essas consultas podem incluir a palavra ou frase a pesquisa. Podemos criar um índice de texto completo em uma tabela ou exibição indexada em um banco de dados. Apenas um índice de texto completo é permitido por tabela ou exibição indexada.


Para criar um índice, siga os passos:


  1. Criar um catálogo de texto completo
  2. Criar um índice de texto completo
  3. Preencher o índice
1) Crie um catálogo de texto completo




Full - O texto pode também ser criado, criando um índice de texto completo na Wizard.

2) Crie um índice de texto completo















3) Preencher o Índice






    Como o índice é criado e preenchido, você pode escrever a consulta e utilização na busca registros nessa tabela, que fornece melhor performance. Por exemplo: 
Nós vamos encontrar os registros dos empregados que tem "Marketing" em seu Cargo.

    FREETEXT () predicado é usado para pesquisar colunas que contêm tipos de dados baseados em caracteres. Ele não irá coincidir com a palavra exata, mas o significado das palavras na condição de pesquisa. Quando freetext é usado, o mecanismo de consulta de texto completo internamente executa as seguintes ações no freetext_string, atribui um peso de cada termo e, em seguida verificar os jogos.

  • Separa a string em palavras individuais com base em limites de palavra (word-breaking). 
  • Gera formas flexionadas das palavras (Stemming). 
  • Identifica uma lista de expansões ou substituições para os termos baseados em jogos no dicionário de sinônimos.


   CONTAINS() é semelhante ao freetext mas com a diferença que é preciso uma palavra-chave para combinar com os registros, e se quiser combinar outras palavras, bem como na pesquisa, em seguida, precisamos fornecer a "and" ou "or" em busca então ele irá lançar um erro.

USE AdventureWorks2008
GO

SELECT BusinessEntityID, JobTitle
FROM HumanResources.Employee
WHERE freetext(*, 'Assistente de Marketing ");

SELECT BusinessEntityID,JobTitle
FROM HumanResources.Employee
WHERE CONTAINS(JobTitle, 'Marketing ou assistente');

SELECT BusinessEntityID,JobTitle
FROM HumanResources.Employee
WHERE CONTAINS(JobTitle, "Marketing e assistente ');
GO


Conclusão

    Indexação de texto completo é uma grande característica que resolve um problema de banco de dados, a pesquisa de colunas de dados textual para palavras e frases específicas nas bases de dados SQL Server. Full Text Index pode ser usado para pesquisar palavras, frases e múltiplas formas de palavra ou frase usando FREETEXT() e CANTAINS() com "and" ou "or" operadores.


Nenhum comentário:

Postar um comentário