每次我在LUCENE.NET中读取新文档并将其编入索引时,是否需要创建Document()对象?

时间:2012-03-16 07:36:11

标签: c# .net lucene

正如标题所示,或者我是否在我阅读的每个文件上重复使用文档对象,然后将其发送到索引?

目前我正在这样做

  // 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

我读过的每个文件。这是正确的方法吗?

由于

1 个答案:

答案 0 :(得分:1)

除非遇到性能问题,否则每次创建文档都是正确的方法。毕竟,批量时间用于读取实际文件,您必须以这两种方式执行。在实例化新Document时节省几个周期可能不会产生重大影响。

我也会担心重复使用这个对象。由于它代表一个文件,因此在不同的文件上重复使用它可能会在文档之间“泄漏”数据。