Ошибки полнотекстового индексирования
При заполнении и поддержании полнотекстового индекса индексатор, по изложенным ниже причинам, может пропустить одну или несколько строк. Данные ошибки на уровне строк не препятствуют завершению заполнения. Индексатор просто пропускает эти строки, что означает, что их содержимое останется недосягаемым для запросов.
Ошибки индексирования могут возникать, если:
- Индексатор не смог найти или загрузить фильтр либо компонент разбиения по словам. Данная ошибка может возникать, если строка таблицы содержит формат документа или содержимое на языке, не зарегистрированном в экземпляре SQL Server 2005. Данная ошибка также может возникать, если зарегистрированный компонент средства разбиения по словам или фильтрации не подписан либо не прошел проверку подписи при загрузке.
- Возникает ошибка в компоненте, например в средстве разбиения по словам или фильтре, возвращаемая индексатору. Это может происходить, если индексируемый документ испорчен и фильтр не может извлечь из него текст. Это также может происходить, если компонент вследствие ограничения памяти, установленного в управляющей программе фильтрации для полнотекстового поиска Microsoft (MSFTEFD), не может обработать содержимое одной строки, превышающее определенный размер.
Подробное описание причин каждой ошибки на уровне строк регистрируется в журнале сканирования. Итоговое количество ошибок определяется после полного или добавочного заполнения.
Существуют и другие ошибки, которые могут повлиять на индексирование как таковое и препятствовать завершению заполнения:
- Размер полнотекстового индекса превышает ограничение на количество строк, которые могут находиться в полнотекстовом каталоге.
- Кластеризованный индекс или индекс полнотекстового ключа в индексируемой таблице изменяется, удаляется или перестраивается.
- Сбой оборудования или повреждение жесткого диска, вызывающее повреждение полнотекстового каталога.
- Файловая группа, содержащая таблицу, в которой выполняется полнотекстовое индексирование, становится недоступной или доступной только для чтения.
По окончании любой крупной операции заполнения полнотекстового индекса или в случае обнаружения незавершенной операции заполнения рекомендуется изучить журнал сканирования.
Неподписанные компоненты
По умолчанию полнотекстовый индексатор требует, чтобы загружаемые им фильтры и средства разбиения по словам были подписаны. Если они не подписаны, что иногда случается при установке пользовательских компонентов, необходимо настроить полнотекстовый индексатор так, чтобы он пропускал проверку подписей.
Важно! |
---|
Игнорирование проверки подписей снижает защищенность экземпляра SQL Server. Рекомендуется подписывать все самостоятельно внедряемые компоненты либо контролировать наличие подписей у всех приобретаемых компонентов. Дополнительные сведения о подписывании компонентов см. в разделе sp_fulltext_service (Transact-SQL). |
Превышение ограничения на количество строк в полнотекстовом каталоге
Количество строк, которые могут входить в один полнотекстовый каталог, ограничено числом 2 147 483 643. При превышении этого ограничения выводится сообщение об ошибке. Для разрешения этой проблемы необходимо сперва определить количество строк в каждой таблице, связанной с данным полнотекстовым каталогом, и понять, насколько оно превышает допустимое ограничение — лишь на несколько строк или намного.
- Если ограничение превышено на небольшое число строк, рассмотрите возможность перемещения одного или нескольких индексов, связанных с данным полнотекстовым каталогом, в другой каталог. После этого выполните инструкцию ALTER FULLTEXT CATALOG с параметром REORGANIZE.
- Если ограничение превышено на большое число строк, подумайте о том, чтобы сперва выполнить инструкцию ALTER FULLTEXT CATALOG с параметром REORGANIZE. Имейте в виду, что эта операция требует много ресурсов.
Также рассмотрите возможность удаления части строк из связанной таблицы.
См. также
Основные понятия
Другие ресурсы
Основные понятия компонента Full-Text Search
ALTER FULLTEXT CATALOG (Transact-SQL)