2011-12-18 3 views
0

Я использую solr на своем сайте, но у меня небольшая проблема. Индексация отлично работает.очистка удаленных документов от индекса solr

Я удалил несколько документов из моей базы данных (у меня было 50 документов, теперь у меня 41). Я начал dataimport, solr сообщает, что он проиндексировал 41 документ (отлично), удалил 0 (странно). Проблема в том, что я все еще могу искать удаленные документы. Почему это? Я использовал clean=true, но ничего не изменил.

Как удалить из индексных документов, которые не существуют?

+0

Не так ясно, если вы удаляете документы с помощью параметров dih 'clean = true' или вручную. – javanna

+0

извините, но я вас не понимаю. Я удалил документ в своей базе данных с моей CMS. Теперь я хочу переиндексировать данные, но я не хочу иметь документы, которые я уже удалил. Я добавлю, что по документу я имею в виду запись в моей БД. Я индексирую данные из своего DB – Fixus

+0

Я понял! Спасибо за объяснение. – javanna

ответ

1

Странно. DataImportHandler с clean=true должен работать для ваших нужд. Альтернатива, позволяющая избежать стресса и в конечном итоге испортить экземпляр live solr, - это обмен: вы создаете новый индекс B, не касаясь живого (скажем, A). B создается с нуля, поэтому будет полностью синхронизирован с вашим db! Только что созданный B .../admin/cores/?action=SWAP&core=A&other=B и работа выполнена! Я делаю это с индексом 1M docs на Solr 3.5 и хорошо работает.

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