Нужно ли создавать объект Document () каждый раз, когда я читаю новый документ и индексирую его в LUCENE.NET? - PullRequest
0 голосов
/ 16 марта 2012

Как следует из названия, или я повторно использую объект документа в каждом файле, который я читаю, и затем отправляю его в индекс?

В настоящее время я делаю это

  // 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 Ответ

1 голос
/ 16 марта 2012

Если вы не испытываете проблем с производительностью, создание документа каждый раз является правильным подходом. В конце концов, основная часть времени используется для чтения самого файла, что вам придется сделать в любом случае. Сохранение нескольких циклов при создании нового Document, вероятно, не окажет большого влияния.

Я бы тоже с осторожностью использовал этот объект. Поскольку он представляет собой один файл, его повторное использование в другом файле может «пропустить» данные между документами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...