По умолчанию WSS и MOSS для индексации файлов RTF используют Windows SharePoint Services Search Plain Text filter и Microsoft Office SharePoint Server Search Plain Text filter соответственно. В результате латиница индексируется нормально, а кириллица не индексируется совсем, т.к. в RTF применяется 7-битное кодирование: не ASCII символы кодируются с помощью escape-последовательностей.
Чтобы выйти из положения, необходимо использовать почему-то забытый самим Майкрософтом RTF IFilter. Последовательность действий:
- Скачать архив, распаковать, скопировать rtffilt.dll в %systemroot%\system32, зарегистрировать командой
regsvr32.exe rtffilt.dll
.
- Для MOSS: Администрирование общих служб -> Параметры поиска -> Типы файлов -> добавить расширение rtf.
Для WSS: Добавить в реестр строковый параметр с очередным номером и содержаниемrtf
в ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Applications\[Application GUID]\Gather\Search\Extensions\ExtensionList.
- Для MOSS: изменить значение по умолчанию для ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.rtf на {e2403e98-663b-4df6-b234-687789db8560}.
Для WSS: изменить значение по умолчанию для ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.rtf на {e2403e98-663b-4df6-b234-687789db8560}.
- Для MOSS: перезапустить службу Office SharePoint Server Search (OSearch).
Для WSS: перезапустить службу Windows SharePoint Services Search (SPSearch).
- Для MOSS: Администрирование общих служб -> Параметры поиска -> Источники содержимого -> В меню нужного источника выбрать «Начать полный обход содержимого».
Для WSS: Выполнить командуstsadm -o spsearch -action fullcrawlstart
.
Спасибо, интересные вещи пишешь!
Добрый день.. При регистрации длл на хр возникает ошибка ошибка DllregisterServer, не сталкивались с такой? спасибо
Нет, не сталкивался.