Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Full-Text Search por Mind Map: Full-Text Search

1. Componentes da Arquitetura

1.1. Processos

1.1.1. Quais?

1.1.1.1. SQL Server(sqlservr.exe)

1.1.1.2. Filter daemon host (fdhost.exe) "Filtro do anfitrião do demônio"

1.1.1.2.1. é iniciado pelo Mecanismo Full-Text

1.1.1.2.2. responsável por

1.1.2. Criação

1.1.2.1. serviço iniciador FDHOST = MSSQLFDLauncher

1.1.2.1.1. Executado sob as credenciais de segurança da conta do serviço iniciador FDHOST

1.1.3. Observação

1.1.3.1. Serviço iniciador FDHOST deve estar sendo executado para que indexação full-text e consulta full-text funcione.

2. Processo SQL Server

2.1. Componentes

2.1.1. Tabelas de usuário

2.1.1.1. contém os dados a serem indexados full-text

2.1.2. Coletor de texto completo ("full-text gatherer")

2.1.2.1. trabalha com as linhas de rastreamento de texto completo ("full-text crawl threads")

2.1.2.2. responsável

2.1.2.2.1. pela programação e condução da população de índices full-text ("scheduling and driving the population...")

2.1.2.2.2. pelo monitoramento de catálogos full-text

2.1.3. Arquivos Thesaurus

2.1.3.1. contém sinônimos para termos pesquisados

2.1.3.2. veja "Configure and Manage Thesaurus Files for Full-Text Search"

2.1.4. Objetos Stoplist

2.1.4.1. lista de palavras comuns que não são úteis para pesquisa

2.1.4.2. veja "Configure and Manage Stopwords and Stoplists for Full-Text Search"

2.1.5. Processador de consultas do SQL Server

2.1.5.1. compila e executa consultas SQL

2.1.5.2. Se a consulta incluir pesquisa full-text

2.1.5.2.1. é enviada para o Mecanismo Full-Text ("Full-Text Engine")

2.1.5.2.2. durante

2.1.5.3. O resultado da consulta é comparado com o índice full-text

2.1.6. Mecanismo Full-Text

2.1.6.1. É plenamente integrado como processador de consultas

2.1.6.2. compila e executa consultas full-text

2.1.6.3. durante a execução

2.1.6.3.1. pode receber entrada de thesaurus e stoplist

2.1.6.4. Papéis

2.1.6.4.1. suporte à indexação

2.1.6.4.2. suporte à consultação

2.1.7. Construtor de índice (indexador)

2.1.7.1. constrói a estrutura que é usada para armazenar as fichas indexadas

2.1.8. Gerenciador de Filtro do Demônio ("Filter daemon manager")

2.1.8.1. é responsável pelo monitoramento do status do host do Filtro

3. Processo Filter Daemon Host

3.1. Componentes

3.1.1. Manipulador de protocolo

3.1.1.1. puxa dados da memória para processamento posterior

3.1.1.2. acessa dados de uma tabela de usuário de um banco de dados específico

3.1.1.3. responsabilidade

3.1.1.3.1. reunir dados de colunas sendo indexadas full-text

3.1.1.3.2. passá-los para o "filter daemon host"

3.1.2. Filtros

3.1.2.1. alguns tipos de dados requerem filtragem antes que possam ser indexados full-text

3.1.2.2. o filtro a ser utilizado depende do tipo de documento

3.1.2.3. o filtro extrai trechos de texto do documento, remove formatação embutida e retendo, além do texto, informação sobre a posição do texto.

3.1.2.3.1. o resultado é uma sequencia de informação textual

3.1.2.4. veja "Configure and Manage Filters for Search"

3.1.3. Separadores de palavras e lematizadores ("word breakers and stemmers")

3.1.3.1. separador de palavra

3.1.3.1.1. é um componente específico da linguagem que encontra limites da palavra baseado em regras de uma dada linguagem ("word breaking")

3.1.3.2. lematizador ("stemmer")

3.1.3.2.1. "A program or algorithm which determines the morphological root of a given inflected (or, sometimes, derived) word form -- generally a written word form."

3.1.3.3. Cada separador de palavra está associado a um componente "stemmer" que conjuga verbos e executa flexões.

3.1.3.4. Em tempo de indexação

3.1.3.4.1. o fdh usa o separador de palavras e o lematizador para executar análise linguística nos dados textuais de uma dada coluna de uma tabela

3.1.3.5. veja "Configure and Manage Word Breakers and Stemmers for Search."

4. Processamento

4.1. Da Indexação

4.1.1. 1. Full-text population ("crawl") é inicializado

4.1.2. 2. Mecanismo full-text carrega grandes lotes de dados na memória

4.1.3. 3. Mecanismo full-text notifica o fdh

4.1.4. 4. O fdh filtra e quebra palavras e gera listas invertidas de palavras

4.1.4.1. como parte do processamento, os dados textuais reunidos são passados pelo separador de palavras para separar o texto em símbolos individuais ou palavras-chave.

4.1.5. 5. O fdh puxa os dados convertidos das listas de palavras, processa os dados para remover "stopwords"

4.1.6. 6. as palavras remanescentes são armazenadas em um ou mais índices invertidos

4.1.7. 7. quando a população estiver completa, um processo de mixagem final é disparado que mescla os fragmentos de índice em um único índice mestre de texto completo.

4.2. Da Consulta

4.2.1. 1. o processador de consultas transferem as porções full-text para o Mecanismo Full-Text processar

4.2.2. 2. O Mecanismo Full-Text excuta separação de palavras e, opcionalmente, expansões de thesaurus, lematização e processa stopword ("noise-word")

4.2.3. 3. As porções full-text da consulta são representadas na fora de operadores SQL, primariamente como funções de textos (STVFs)

4.2.4. 4. Durante a execução da consulta, estes acessos STVFs acessam o índice invertido para recuperar os resultados corretos.

4.2.5. 5. O resultado ou são retornados ao cliente neste momento, ou podem ser posteriormente processados antes de retornarem ao cliente.

5. Componentes linguísticos e Suporte a Linguagem na Pesquisa Full-Text

5.1. Suporte para

5.1.1. quase 50 diferentes idiomas

5.1.2. veja sys.fulltext_languages (Transact-SQL)