Параллельное редактирование в документе lucene

java apache lucene

65 просмотра

1 ответ

Я заметил там этот метод: https://lucene.apache.org/core/6_1_0/core/org/apache/lucene/index/IndexWriter.html#updateDocument-org.apache.lucene.index.Term-java.lang .Iterable-

Поэтому я сначала извлеку документ, внесу изменения, а затем использую описанный выше метод для обновления с помощью uid. Это означает, что мне требуется внешняя синхронизация, если у меня есть параллельные обновления.

Или есть другой способ сделать это, о котором я не знаю?

Автор: Cheetah Источник Размещён: 08.11.2019 11:08

Ответы (1)


0 плюса

Как написано по указанной выше ссылке

Удаление и добавление являются атомарными, как видно читателю по тому же индексу.

Это означает, что ни один другой поток не может наблюдать модификацию наполовину завершенную, либо увидит значение до обновления, либо после обновления.

Поэтому для одновременных обновлений лучше выполнять внешнюю синхронизацию.

Автор: PVR Размещён: 22.08.2016 07:11
Вопросы из категории :
32x32