Encontre um resultado de um tipo .doc que armazena em uma coluna varbinária (max)
-
21-09-2019 - |
Pergunta
Quero escrever uma consulta com pesquisa de texto completo em uma coluna com o tipo varbinário (max) que armazenou um arquivo .doc/.docx (ms-word). Minha consulta deve retornar registros que contêm uma palavra no arquivo armazenado.
Isso é possível?
Se sim, como? (Por favor, escreva um exemplo)
Se sim, podemos escrever isso para outro idioma (por exemplo, árabe, persa ou caracteres unicode)?
Obrigado antes.
Solução
O que você está procurando é a FullText Indexing, que foi bastante aprimorada no SQL Server 2008.
Para uma introdução, eu recomendaria verificar esses artigos aqui:
- SQL Server 2008 - Criando catálogo de texto completo e pesquisa
- Entendendo a indexação de texto completo no SQL Server
- FullText-Indexing Workbench
Depois de entender isso e criar seu próprio catálogo FullText, você poderá pesquisar algo assim:
SELECT ID, (other fields), DocumentColumn
FROM dbo.YourTable
WHERE CONTAINS(*, 'Microsoft Word')
E sim, a indexação e a pesquisa da FullText suportam muitos idiomas - confira os links que enviei para você e os livros do SQL Server 2008 on -line para obter detalhes!
Marc
Outras dicas
Se você possui o SQL Server 2005 ou mais tarde, sim, você só precisa dos filtros:
Se você possui o SQL Server 2000, os arquivos do DOC podem ser indexados, mas não o formato mais recente do Office 2007, tanto quanto eu sei (ouvi que você poderá emprestar o ifilter instalando o Word 2007 no servidor).