В моем случае каждый документ, вставленный в индекс lucene, имеет свой уникальный идентификатор.При добавлении нового документа в индекс Lucene, если документ существовал в индексе, документ не должен быть вставлен в индекс.Как реализовать эту стратегию?
Я думаю, что сначала я должен выполнить поиск документа с помощью docId, если lucene не может найти документ, затем я вставляю его.Однако, поскольку у меня есть 3 потока, использующих только indexWriter для индексации, я думаю, что должны быть некоторые неправильные случаи.Например: поток 1 и поток 2 обрабатывают два документа с одним и тем же docId, если thread1 ищет docId и ничего не находит, он вставляет документ в индекс, но thread2 может вставить свой документ в индекс после того, как поток 1 прочитает индекс.В результате в индексе есть два документа.Как я могу избежать этого?