The best thing is to re-index from your original source data, but if that is
not available, you can also re-index stored fields, assuming that you
created the index using stored fields for text fields. You would have to
write custom code to retrieve the stored values (not the actual terms since
those were analyzed and won't be guaranteed to be re-analyzed compatibly
with a different analyzer.) For non-text fields such as numbers and raw
strings you can of course just retrieve the raw term values and use them for
re-indexing. None of this is easy or automatic, but at least you can
retrieve the text to be re-indexed - if and only if it was indexed in stored
fields.
-- Jack Krupansky
-----Original Message-----
From: 黄靖宇
Sent: Friday, January 21, 2011 4:04 AM
To: [email protected]
Subject: How to rebuild index
Hi,
I am new to lucene. Recently I was assigned for some lucene related
workitems.
Now there is one problem. Before, we use StandardAnalyzer in our
application, and our application has been online for about two years.
Now, we must to write a Custom Analyzer to replace the StandarAnalyzer for
enhancement requirement.
But there are already much exists production data and the lucene
index(generated with StandardAnalyzer).
What I need to do if I change to use the new Custom Analyzer?
From the book "Lucene In Action". I see follow sentence:
"If you’re changing analyzers, you should rebuild your index using the new
analyzer so that all documents are analyzed in the same manner."
But I don't know how to rebuild the exists index with a new Analyzer. I
can't find a API related to this.
Any help will be appreciated.
Thanks In Advance.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]