On Sat, May 12, 2012 at 9:12 AM, Valeriy Felberg
<valeri.felb...@gmail.com> wrote:
>> the Document IDs in Lucene are per segment. ie. they are always
>> segment based.
>
> @Simon I'm just wondering: If the document IDs are per segment how
> does it work if I call Searcher.search(Query, int) and get TopDocs
> referencing ScoreDocs which contain document IDs? What happens if
> there are two matching documents in different segments? How does
> Lucene know which segment is meant if I call Searcher.doc(docId) with
> some docId from the search result?

The per-segment docIDs are "rebased" before Searcher.search returns,
ie turned into global docID against the top reader.

Also: when a merge runs, it removes any deleted docIDs (thus
renumbering all non-deleted docIDs)...

Mike McCandless

http://blog.mikemccandless.com

---------------------------------------------------------------------
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