正如标题所示,或者我是否在我阅读的每个文件上重复使用文档对象,然后将其发送到索引?
目前我正在这样做
// Loop for each file
document = new Document();
fileData = // Read file contents
document.Add(new Field("text", fileData, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
indexWriter.AddDocument(document);
// end loop
我读过的每个文件。这是正确的方法吗?
由于
答案 0 :(得分:1)
除非遇到性能问题,否则每次创建文档都是正确的方法。毕竟,批量时间用于读取实际文件,您必须以这两种方式执行。在实例化新Document
时节省几个周期可能不会产生重大影响。
我也会担心重复使用这个对象。由于它代表一个文件,因此在不同的文件上重复使用它可能会在文档之间“泄漏”数据。