我使用Lucene 5.1.0索引文档并进行搜索。我有很多文件,超过1000000,存储在数据库中。当我第一次开始运行项目时,我使用Lucene来索引这些文档。现在我想从数据库和索引中删除一个文档。我还为每个索引选择一个id。我使用以下命令删除,但它删除了所有索引。
iw.deleteDocuments(new Term("id", doc.id));
此外,我使用了一个Query来删除,但它删除了所有索引。
我将文档添加到索引中,如下所示:
iDoc = new org.apache.lucene.document.Document();
FieldType fieldType = new FieldType();
fieldType.setIndexOptions(
IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
fieldType.setTokenized(true);
fieldType.setStored(true);
fieldType.setOmitNorms(true);
fieldType.setStoreTermVectors(true);
fieldType.setStoreTermVectorOffsets(true);
fieldType.setStoreTermVectorPayloads(true);
fieldType.setStoreTermVectorPositions(true);
iDoc.add(new Field("id", doc.id.toString(), fieldType));
iw.addDocument(iDoc);