найти результат из типа .doc, который хранится в столбце varbinary(max)

StackOverflow https://stackoverflow.com/questions/1365918

Вопрос

я хочу написать запрос с полнотекстовым поиском в столбце с типом varbinary(max), в котором хранится файл .doc/.docx(MS-Word).мой запрос должен возвращать записи, содержащие слово в сохраненном файле.

Это возможно?

если да, то как? (пожалуйста, напишите пример)

если да, можем ли мы написать это для другого языка (например, арабского, персидского или символов UniCode)?

заранее спасибо.

Это было полезно?

Решение

Вам нужна полнотекстовая индексация, которая была значительно улучшена в SQL Server 2008.

Для ознакомления я бы рекомендовал прочитать эти статьи здесь:

Как только вы поймете это и создадите свой собственный полнотекстовый каталог, вы сможете искать что-то вроде этого:

SELECT ID, (other fields), DocumentColumn
FROM dbo.YourTable
WHERE CONTAINS(*, 'Microsoft Word')

И да, полнотекстовое индексирование и поиск поддерживают множество языков — для получения подробной информации ознакомьтесь с ссылками, которые я вам отправил, и в электронной документации по SQL Server 2008!

Марк

Другие советы

Если у вас SQL Server 2005 или более поздняя версия, да, вам просто нужны фильтры:

http://www.microsoft.com/downloads/details.aspx?FamilyId=60C92A37-719C-4077-B5C6-CAC34F4227CC&displaylang=en

Если у вас SQL Server 2000, файлы документов можно индексировать, но, насколько мне известно, новый формат Office 2007 — нет (я слышал, что вы можете позаимствовать IFilter, установив Word 2007 на сервер).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top