очистка удаленных документов из индекса solr

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

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

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


person Fixus    schedule 18.12.2011    source источник
comment
Не совсем понятно, удаляете ли вы документы через параметры dih clean=true или вручную.   -  person javanna    schedule 18.12.2011
comment
извините, но я не удалил документ в моей базе данных из моей CMS. Теперь я хочу переиндексировать данные, но я еще не удалил их. Добавлю, что под документом я подразумеваю запись в моей БД. Я индексирую данные из своей БД   -  person Fixus    schedule 18.12.2011
comment
Я понял! Спасибо за объяснение.   -  person javanna    schedule 18.12.2011


Ответы (1)


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

person claudod    schedule 18.12.2011