我将Apache Lucene集成到Spring Boot应用程序(这是我的第一次经验)和一切都很好,但我看到一堆文件—索引:. cfs. si. cfe;如何组合它们,是否有必要这样做,如果我计划在索引中达到10亿个文件?
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>9.8.0</version>
</dependency>
为了将新数据添加到索引,我编写了下一个简单的方法:
synchronized public void addToIndex(IndexData data) {
Document doc = setDocument(data.id, data.body, data.coutry);
try {
writer.addDocument(doc);
writer.commit();
writer.maybeMerge();
writer.flush();
doc.clear();
} catch (IOException e)
{ e.printStackTrace();}
}
此方法位于IndexWriter:config.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
配置的singleton类中
调用"maybeMerge()"是否足够,因为Lucene在需要时会合并文件?