SQL FTS IFilters, это безопасная импликация и диагностика проблем PDF Фильтра
Заблокировано
-
4 мая 2010 г. 10:44Модератор
Устранение проблем PDF фильтра
Хотя я в этой теме и говорится о IFilters , многие из вас могут использовать PDF фильтры для индексации PDF документов в своей базе данных. Adobe недавно представила 64-разрядный PDF фильтр (подробнее об этом здесь- http:// www. adobe. com/ support/ downloads/ detail. jsp? ftpID=4025 ) , и я видел много людей, имеющих проблемы с его использованием. Если вы обратите внимание на FTLogs во время индексации то можете встретить такую ошибку:
2009-09-29 06:31:59.47 spid24s Ошибка '0 x80004005, возникла во время полнотекстовой индексации содержания для таблицы или индексированного просмотра "[IFilter]. [DBO]. [Fts_table] '(таблица или индификатор индексированого просмотра '2137058649, идентификатор базы данных '5 '), значение полнотекстового ключа 0x2E00700064006600. Будет сделана повторная попытка индексации.
2009-09-29 06:31:59.48 spid24s компонент "PDFFilter.dll 'сообщил об ошибке при индексировании. Путь компонента "С: \ Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\PDFFilter.dll'
Эти ошибки указывают на проблемы с загрузкой и использованием PDF фильтров Adobe . Поэтому убедитесь, что вашей системной переменной окружения PATH добавлено следующее расположение: C :\ Program Files \ Adobe \ Adobe PDF iFilter 9 for 64- bit platforms \ bin Обратите внимание: возможно потребуется перезагрузка
Если это не сработает, то ваш SQL полнотекстовая индексация не выполнилась, так как не может быть найден фильтр для PDF 64-бит.
Кроме того, есть IFilter предоставляемый Foxit , который родственнен 64-битному фильтру. Возможно, вы захотите протестировать индексации с ним. Подробнее об этом здесь - http :// www . foxitsoftware . com / pdf / ifilter /
Если Вы хотите узнать как идентифицировать полнотекстовый документ/строку, которая обрушила индексацию, Вы можете придерживаться следующего плана по их отделению:
1) Найти колонку с полнотекстовым ключом
USE DBNAME
GO
select name from syscolumns where colid = objectproperty ( object_id ( 'TBL_NAME' ), 'TableFulltextKeyColumn' ) and id = object_id ( ' TBL_NAME ' )
Полнотекстовый ключ – это колонка, которую Вы можете использовать, когда Вы определяете полнотекстовую индексацию && это может не обязательно быть первичный ключ вашей полнотекстовой таблицы.
2) Приведите это значение к значению полнотекстового ключа
select convert ( varbinary ( 900 ), keyColumn ) as keyColumn , uniqueColumn from TBL_NAME
3) Как только вы получите его, Вы можете отфильтровать его для нахождения строчки, которая обвалилась просмотром FTLOG и записью значения провалившегося полнотекстового ключа
Например,
select convert ( varbinary ( 900 ), keyColumn ) as keyColumn , uniqueColumn from TBL_NAME
where keyColumn = 0 x 2 E 00700064006600
Не говоря о PDF , место для проверки различно и обычно IFilters ,доступные SQL серверу, просматривается для следующех расположениех регистра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex ,under "DLLsToRegister"
Имейте ввиду некоторые важные положения:
1) Образы, встроенные в PDF документы, не индексируются и SQL не может осуществлять поиск в них
2) IFilter Adobe 6.0 не совместим с Windows Server 2003 64-битной версии
3) Запуская с Acrobat и Reader 7.0.5, функциональность IFilter а сейчас не отправляется в продукты Acrobat и Reader
4) Также PDF фильтр 64-х бит работает и с SQL 2005 и с SQl 2008. Проверено!
5) Microsoft пакет фильтров содержит в себе IFilter для самых последних версий документов 2007 офиса таких, как docx , pptx , xlsx и др. Вы можете узнать об этом здесь - http :// www . microsoft . com / downloads / details . aspx ? FamilyId =60 C 92 A 37-719 C -4077- B 5 C 6- CAC 34 F 4227 CC & displaylang = en
6) Для индексирования файлов MSG , Вам нужно загрузить IFilter из Windows Desktop Search дополнения. Оно доступно здесь http :// www . microsoft . com / downloads / details . aspx ? FamilyId =134 ECBB 0- C 162-4 D 07- BEF 3-0 B 602 C 4 A 79 DD & displaylang = en или установить 2007 офис , который имеет при себе MSGFILT.dll
Для связи [Mail]- Перемещено Siddharth Chavan 2 октября 2010 г. 0:38 MSDN Forums Consolidation (От:SQL Server для разработчиков)

