2013-06-20 4 views
0

Я использую massindexer для индексации моей модели домена для проекта, над которым я работаю; моя модель домена включает в себя байты файлов, хранящиеся в базе данных. Я правильно аннотировал мою модель домена с помощью аннотации TikaBridge для коллекций файлов внутри моих объектов домена.Hibernate Search ErrorHandler: Продолжить индексирование

Большинство файлов, к которым у меня есть доступ (200+, различные форматы), в моей базе данных отлично, но иногда файл не может разбираться по какой-либо причине. Это, по-видимому, заставляет индексатор прекратить обработку всей текущей партии объектов домена. Я открыл вопрос об этом на https://hibernate.atlassian.net/browse/HSEARCH-1354

В соответствии с документацией вы можете создать собственный обработчик ошибок для решения этой проблемы; http://docs.jboss.org/hibernate/search/4.3/reference/en-US/html_single/#d0e2582

Возможно, я не могу сказать, что поиск в спящем режиме просто игнорирует ошибку синтаксического анализа и продолжает индексирование.

Может ли кто-нибудь указать мне в правильном направлении на этом и сообщить мне, как создать пользовательский ErrorHandler, который игнорирует ошибки анализа текста Tika?

ответ

1

Мне не удалось выполнить обычную работу с решением ErrorHandler, поэтому я закончил копирование и вставку org.hibernate.search.bridge.builtin.TikaBridge в мою кодовую базу и внесение изменений в журнал, чтобы выполнить анализ ошибок разбора, но продолжайте двигаться.

В итоге я использовал следующие аннотации, чтобы собрать все это вместе.

@Field 
@FieldBridge(impl=com.my.project.CustomTikaBridge.class) 
private byte[] bytes;