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.

Foi útil?

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:

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:

http://www.microsoft.com/downloads/details.aspx?familyid=60c92a37-719c-4077-b5c6-cac34f4227cc&displaylang=en

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top