You shouldn't use doc.removeField -- it's costly (the fields are a
list internally so we walk that list looking for which field(s) to
remove).

To reuse you can just use Field.setValue, and leave the Field instance
on the Document.

But: you should only do this if you really have a meaningful
performance problem during indexing...

Mike McCandless

http://blog.mikemccandless.com

On Thu, Mar 1, 2012 at 2:20 AM, Sudarshan Gaikaiwari <sudars...@acm.org> wrote:
> Hi
>
> https://builds.apache.org/job/Lucene-trunk/javadoc/core/org/apache/lucene/document/DocValuesField.html
>
> The documentation at the above link indicates that the optimal way to
> add a DocValues field is to create it once and change the value as we
> are indexing multiple documents.
> It also mentions that the Document should be created only once and re-used.
>
> Does this mean that the optimal way of adding non DocValues fields for now is
>
> doc.removeField(fieldName);
> doc.add(new Field(fieldName, newValue, fieldType);
>
> If this is the pattern that users should follow while creating
> documents, would it be possible to augment the Document class to do
> this in a single method?
>
> regards
> Sudarshan
>
> --
> Sudarshan Gaikaiwari
> www.sudarshan.org
> sudars...@acm.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to