2016-01-28 2 views
1

, что я делаю:Чтобы получить подробную информацию или восстановить удаленные заметки документов

из кода Java я извлечение ноты базы данных и индексаций всех документов этой базы данных с использованием полнотекстового индексирования с помощью solrj клиента и спасение индексированные данные конкретных документов на полнотекстовом сервере.

предположит, что когда то же база данных приходит снова для индексации, считается любые один из документов из этой базы данных удаляются, который уже проиндексирован на сервере Полного текста,

Но этот документ будет удален из базы данных заметок, так что я не хотите сохранить (значит хотите удалить) индексированные данные на моем полнотекстовом сервере удаленного документа.

так, как бы я знать, какой документ будет удален

, что я имею в виду, это, идентификатор и дб название магазина документа при индексировании, так что я буду иметь запись индексируемых документов, так что я могу определить, какие документы удалены из конкретной базы данных.

любой другой эффективный способ?

Благодарим вас за вопрос.

ответ

2

Документ универсальный идентификатор документа является уникальным идентификатором, по крайней мере, для полной базы данных.

Вы можете получить его с Document.getUniversalID() в Java

Конструктивно каждый уникальный идентификатор является уникальным во всем мире, но в качестве дизайнера вы можете ходить, что (UNIDs будет доступен для записи) и копии, конечно, есть документы, с тем же уникальным идентификатором ,

Объединить unid с файловой дорожкой базы данных, тогда он ДЕЙСТВИТЕЛЬНО уникален.

Теперь просто помните, что все индексы были проиндексированы и после следующей проверки, если таковые были, что вы больше не можете найти (например, просто удалите каждый «найденный» ключ unid-path от вас existing indices - список и все, что угодно там, в конце концов, больше не существует).

ФОН
Каждый документ, который удаляется в базе данных становится аттестован по стандарту NSF так называемый Deletion Stub (по крайней мере) 90 дней, прежде чем он продувается, наконец. Интервал настраивается для каждой базы данных, может быть меньше 90 дней, если администратор решил так ...

Эти заглушки удаления все еще содержат информацию о unid. Они были бы идеальны для вашей цели (поскольку это именно их цель для внутренних процессов, называемых replication).

К сожалению, нет простого способа получить эти удаления для базы данных с Java.
: способы получить их с external tools или C-API from LotusScript, но ни один из них не прост в использовании с Java.

+0

благодарит за ответ, но насколько я знаю, я не могу получить доступ к удалению заглушки –

+1

Право. Вы не можете получить доступ к заглушкам удаления. Но вы можете попытаться получить доступ к каждому документу через UNID, который вы сохранили для него, используя Database.getDocumentByUNID.Если это не удается, документ был удален. –

+0

Когда я запускаю этот скрипт, я получаю предупреждение, говоря «Переполнение». Можете ли вы предложить мне, что там происходит? –

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

  • Нет связанных вопросов^_^