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: java-user@lucene.apache.org
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: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to