On Wed, Mar 5, 2014 at 4:34 PM, hao yan <hyan2...@gmail.com> wrote:
> Hi, Michael
>
> 1.We find actually both are costly. I am not sure what is the difference btw
> "
> first next only once + seekExact from then on" and "always seekExact".  I
> mean, the first call of "next" and the first call of seekExact, they are
> different? If what next() does is to load a block of data and position to
> the beginning of th block and seekExact() is to load a block and position to
> the target, then next() should be more efficient, right?

The first next() call is not that different from seekExact: it must
load the block containing the first term and read bytes from it.

After that, next() should be cheaper than seekExact.

> 2. Is multiFields/multiTerms/multiTermsEnum efficient ? We have a fixed
> number ( three) segments always. We want to search on the three segments for
> each query. Therefore we borrowed most of the code of multixxx.  Is there
> anyway to optimize this?

They are relatively efficient?  I mean, they must merge-sort the
terms, and manage N segments that might have a term under the hood,
but it's the best we can do (unless you can forceMerge).

But it's better to operate per-segment if you care about performance.

Mike McCandless

http://blog.mikemccandless.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to