lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrzej Bialecki>
Subject Re: Adding a new field to existing Index
Date Wed, 30 Jun 2010 07:04:05 GMT
On 2010-06-29 13:40, Naveen Kumar wrote:
> Hey,
> I need to add a new field (a stored , not indexed field) for all
> documents present in an existing large index. Reindexing the whole
> index will be very costly. Is there a way to do this or any work
> around?

There are some other low-level ways to do this, but the easiest is to
use a FilterIndexReader, especially since you just want to add a stored
field - implement a subclass of FilterIndexReader that adds a new field
in getFieldNames() and document(int). Then use
IndexWriter.addIndexes(IndexReader[]) to create the output index.

> I would also like to know, if data or term vector, of a field
> indexed without storing, can somehow be retrieved. This would enable
> a work around solution to my problem.

Not really, and the re-construction is very costly. Indexing is a lossy
process, so not all content can be recovered. See the "Reconstruct &
Edit" functionality in Luke (

Best regards,
Andrzej Bialecki     <><
 ___. ___ ___ ___ _ _   __________________________________
[__ || __|__/|__||\/|  Information Retrieval, Semantic Web
___|||__||  \|  ||  |  Embedded Unix, System Integration  Contact: info at sigram dot com

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message