This is an excellent question.
You are right, what we really need is efficient reopening of an
IndexSearcher. Creating & warming a new IndexSearcher can be
expensive due [at least] to populating the FieldCache.
This has been discussed before, eg here:
http://www.gossamer-threads.com/lists/lucene/java-dev/53852#53852
And there is at least one Jira issue opened, here:
https://issues.apache.org/jira/browse/LUCENE-831
But this is clearly still a "work in progress". Stay tuned (on
java-dev)...
Mike
Scott Tiger wrote:
No plan for IndexSearcher.reopen?
I don't know about cost of creating IndexSearcher instance.
But we almost need IndexSearcher.reopen instead of IndexReader.reopen.
----
IndexReader reader = IndexReader.open(...);
IndexSearcher searcher = new IndexSearcher(reader);
searcher.search(...);
...for reopen
IndexReader newReader = reader.reopen();
if (newReader != reader) {
searcher.close();
reader.close();
reader = newReader;
newReader = null;
searcher = new IndexSearcher(reader);
} else {
newReader = null;
}
searcher.search(...);
...want simply...
IndexSearcher newSearcher = searcher.reopen();
if (newSearcher != searcher) {
searcher.close();
searcher = newSearcher;
newSearcher = null;
}
2007/11/5, Michael McCandless <[EMAIL PROTECTED]>:
Unfortunately, no. Once open, the IndexReader/IndexSearcher searches
a frozen "point in time" snapshot of the index as it existed when it
was first opened.
You'll have to open a new searcher in order to see the changes.
However, there is work underway now to add a "reopen" method to
IndexReader that somewhat lowers the cost of opening a reader (not
yet
clear by how much). This should be part of the next release (2.3).
See here for details:
https://issues.apache.org/jira/browse/LUCENE-743
Mike
"Enrique Lamas" <[EMAIL PROTECTED]> wrote:
Hi,
I have an application using Lucene 2.2.0 that opens an
IndexSearcher only
once to optimize performance, because opening the index is a heavy
operation. My question is, if I modify the index with an
IndexWriter or
IndexModifier, is there any way for the changes to be visible to the
opened IndexSearcher without reopening it?
Thanks
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]