2012-11-13 2 views
2

У меня огромное количество PDF/Word/Excel/и т. Д. файлы для индексации (40 ГБ сейчас, но, возможно, до 1000 ГБ в некоторых монахах), и я рассматривал возможность использования Solr с DataImportHandler и Tika. Я прочитал много тем по этому вопросу, но есть одна проблема, для которой я до сих пор не нашел решения: если я индексирую все файлы (полный или дельта-импорт), удаляю файл в файловой системе и снова индексируем (с delta import), то документ, соответствующий файлу, не будет удален из индекса.Solr + DIH + Tika: индексирование огромного количества файлов, как обрабатывать удаленные файлы?

Вот некоторые possibilites:

  • ли полный импорт. Но я хочу избежать этого как можно больше, так как считаю, что это может быть очень трудоемким (несколько дней, но не очень важно) и пропускной способностью (основная проблема, поскольку файлы находятся на общем сетевом диске).
  • Внедрите скрипт, который будет проверять для каждого документа в индексе, если существует соответствующий файл (гораздо меньше потребляемой полосы). Но я не знаю, сделаю ли я это внутри или вне Солра и как.

Есть ли у вас какая-либо другая идея или способ выполнить второе решение? Заранее спасибо.

Некоторые детали:

  • Я буду использовать опцию «newerThan» из FileListEntityProcessor сделать импорт дельта.
  • Если я храню дату, когда документ был проиндексирован, это не поможет мне, потому что, если я не проиндексировал один документ в последнем импорте, это может быть потому, что он был удален или потому, что он не изменился (дельта-импорт)
  • У меня есть как сохраненные, так и нестроенные поля, поэтому я не думаю, что использование новой возможности Solr 4.0 для изменения только одного поля в документе может быть решением.

ответ

Смежные вопросы