在我的例子中,插入到lucene索引中的每个文档都有其唯一的ID.在lucene索引中添加新文档时,如果文档已存在于索引中,则不应将该文档插入到索引中.如何实施这一战略?
我想我应该首先使用docId搜索文档,如果lucene找不到文档,那么我插入它.但是,因为我有3个线程共享唯一的indexWriter索引,我想应该有一些错误的情况.例如:线程1和线程2正在处理具有相同docId的两个文档,如果thread1搜索docId并且什么都没找到,它会将文档插入到索引中,但是thread2可以在thread1读取索引之后将其文档插入索引.结果,索引中存在两个文档.我怎么能避免这个?