The NRT reader coming from the IndexWriter.getReader() has only changes in the currently processed segments, the other segments keep stable (and even their IndexReader keys used for the FieldCache). The rest of the segments keep stable. For the consumer it looks like a normal reader (it is in fact a ReadOnlyDirectoryReader) supporting getSequentialSubReaders() and so on.
----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: [email protected] _____ From: John Wang [mailto:[email protected]] Sent: Tuesday, September 22, 2009 9:32 AM To: [email protected] Subject: Re: 2.9 NRT w.r.t. sorting and field cache Thanks Mark for the pointer! I guess my point is with NRT, and when segment files change often, this would be an issue, no? Anyway, I can run some tests. Thanks -John On Tue, Sep 22, 2009 at 3:21 PM, Mark Miller <[email protected]> wrote: 1483 - indexsearcher pulls out a readers subreaders (segmentreaders) and sends a collector over them one by one, rather than using the multireader. So only fc for seg readers that change need to be reloaded. - Mark http://www.lucidimagination.com (mobile) On Sep 22, 2009, at 1:27 AM, John Wang <[email protected]> wrote: Hi Yonik: Actually that is what I am looking for. Can you please point me to where/how sorting is done per-segment? When heaving indexing introduces or modifies segments, would it cause reloading of FieldCache at query time and thus would impact search performance? thanks -John On Tue, Sep 22, 2009 at 1:05 PM, Yonik Seeley < <mailto:[email protected]> [email protected]> wrote: On Tue, Sep 22, 2009 at 12:56 AM, John Wang < <mailto:[email protected]> [email protected]> wrote: > Looking at the code, seems there is a disconnect between how/when field > cache is loaded when IndexWriter.getReader() is called. I'm not sure what you mean by "disconnect" > Is FieldCache updated? FieldCache entries are populated on demand, as they always have been. > Otherwise, are we reloading FieldCache for each > reader instance? Searching/sorting is now per-segment, and so is the use of the FieldCache. Segments that don't change shouldn't have to reload their FieldCache entries. -Yonik <http://www.lucidimagination.com> http://www.lucidimagination.com --------------------------------------------------------------------- To unsubscribe, e-mail: <mailto:[email protected]> [email protected] For additional commands, e-mail: <mailto:[email protected]> [email protected]
