|
|
Publicado em 04/10/2015 21:03:04
|
|
|

1. Li alguns bons posts,
Visão geral da pesquisa em texto completo do SQL Server 2008 http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html
Índice do texto completo http://www.cnblogs.com/liulun/articles/1368655.html
Primeiro, copie um parágrafo:
P: Por que busca em texto completo? R: Porque a velocidade de consulta do texto é lenta (não é recomendado construir um índice no texto, que é o motivo) P: Há alguma diferença em relação a 2005? Um; Claro, há uma diferença, e o nome é precedido por um integrado. Anteriormente, o 05 tinha um arquivo de índice e um motor separados, mas em 08 ele foi integrado ao grupo de arquivos. P: Qual é o princípio? R: Baseado em palavras-chave P: Como isso se relaciona com índices ordinários? R: O objetivo é melhorar a velocidade das consultas. Índices em texto completo possuem muitas das mesmas características dos índices A busca em texto completo utiliza busca semântica (essa técnica parece muito profunda) e também pode ser usada para documentos binários. P: Para que serve? R: Para dar o exemplo mais simples, procure por artigos, fuzzy matching, fast e big quantities também podem ranquear.
Dois. Depois vá até a MSDN para ver um pouco de Dongdong:
Visão geral do índice do texto completo
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
Algumas das citações a seguir são copiadas da seguinte forma:
1. No SQL Server 2008, o motor de texto completo está totalmente integrado ao motor do banco de dados. O motor de texto completo agora está em um processo SQL Server (sqlservr.exe) em vez de um processo separado (msftesql.exe). Ao integrar o motor de texto completo ao motor de banco de dados, a gerenciabilidade do texto completo é melhorada, consultas híbridas são otimizadas e o desempenho geral é melhorado. De: http://msdn.microsoft.com/zh-cn/library/ms142587.aspx
2. As etapas de criação da busca em texto completo, preguiçoso demais para tirar capturas de tela, veja se outros já fizeram, cite diretamente, mas a partir da segunda página é diferente da minha busca local, não posso clicar diretamente com o botão direito na tabela para criar uma busca em texto completo, o padrão é cinza, só consigo criar um índice no catálogo do diretório de índice de texto completo no armazenamento. http://www.sql-server-performance.com/2010/full-text-search-2008/
3. A princípio, pensei que o diretório de busca em texto completo deveria ser um diretório no disco rígido correspondente, o que é semelhante ao conceito de locune. Mas, na verdade, a partir do SQL Server 2008, o diretório de texto completo é um objeto virtual e não pertence a nenhum grupo de arquivos. Um índice em texto completo é um conceito lógico que representa um conjunto de índices em texto completo. Fonte:
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx
4. Você só pode criar um índice em texto completo para uma visualização de tabela ou índice, mas não um índice em texto completo para uma visualização normal.
Um índice de texto completo é um tipo especial de índice funcional baseado em marcadores, gerado e mantido pelo motor de texto completo. Para criar uma busca em texto completo em uma tabela ou visualização, a tabela ou visualização deve ter um índice único, não anulável e de coluna única. O motor de texto completo precisa usar esse índice único para mapear cada linha da tabela a uma chave compressível única. Índices em texto completo podem incluir as colunas Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary e Varbinary(max).
5. Para criar um índice em texto completo na Tabela A, há uma premissa, ou seja, deve haver pelo menos um índice único na Tabela A, ou seja, se não houver índice na Tabela A, não se deseja criar um índice em texto completo na Tabela A.
No 6.SQL Server 2008, o tamanho do índice do texto completo é limitado apenas pelos recursos de memória disponíveis do computador que executa a instância SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
7. Consultar múltiplas colunas (busca em texto completo) Ao especificar uma lista de colunas para pesquisar, você pode consultar múltiplas colunas usando o predicado CONTAINS. Essas colunas devem ser da mesma tabela.
Use parênteses, SELECT Name, Color FROM Production.Product WHERE CONTAINS((Name, Color), 'Red');
Ou use o símbolo *, SELECT Name, Color FROM Production.Product WHERE CONTAINS(*, 'Red');
Fonte: http://msdn.microsoft.com/zh-cn/library/ms142488.aspx
9. Consultar múltiplas colunas para múltiplas tabelas
Ele só pode CONTER ou CONTÉM, como ONDE CONTÉM(t1. Nome, 'Red') ou CONTÉM (t2. Nome, 'Red');
10. Otimizou o desempenho de consultas em texto completo
Use ALTERAR FULLTEXT CATALOG REORGANIZE para reorganizar o catálogo de texto completo.
RECONSTRUÇÃO DO CLIENTE DO CATÁLOGO DE TEXTO COMPLETO ALTER COM ACCENT_SENSITIVITY=DESLIGADO
Para mais informações, basta olhar isto: http://msdn.microsoft.com/zh-cn/library/cc879244.aspx
11. Realizar uma busca por prefixo http://msdn.microsoft.com/zh-cn/library/ms142492.aspx
Você pode usar a busca por texto completo para buscar palavras ou frases com um prefixo especificado.
Quando você realiza uma busca por prefixo, todos os itens na coluna que contêm texto que começa com o prefixo especificado são retornados. Por exemplo, para buscar todas as linhas que contêm o prefixo top (como topple, topping e top itself), a consulta ficaria assim:
SELECT * FROM Product WHERE CONTAINS (NomeProduto, '"auto*"' ); Todo texto que corresponder ao especificado antes do asterisco (*) será devolvido.
Nota: Se você não adicionar aspas duplas antes e depois do texto e do asterisco (por exemplo, CONTAINS (DEscrip{filter}tION, 'top*')), a busca no texto completo não usará o asterisco como coringa.
Quando um prefixo é uma frase, cada ficha que compõe a frase é tratada como um prefixo separado. Todas as linhas que contêm palavras que começam com esses prefixos são retornadas. Por exemplo, o prefixo "light bread*" procura linhas com o texto "light breaded", "lightly breaded" ou "light bread", mas não retorna "Lightly toasted bread".
|
Anterior:Uma música cantonesa de Jacky Cheung, é muito boaPróximo:Uma garota em Lianyungang, província de Jiangsu, foi despida da camisa no vaso sanitário e espancada com força
|