You're really, really playing with fire here. Your document IDs may
change, and in fact *will* change if you delete a document and
then optimize. Say you index 100 docs, delete number 50 and
optimize. Documents that originally had IDs 51-100 will now have
IDs 50-99 and your hierarchy will be messed up.

And saying "I'll never delete and then optimize" is just asking for
trouble <G>...

So just make your own ID that don't change and use *that* to
maintain your hierarchy. You can get at these pretty efficiently with
TermDocs/TermEnum and could, say at startup, read your unique
IDs into a map along with their current Lucene ID if you really care
that much about speed. This could just be a simple counter and
you could find the maximum one currently in your index when you
needed to add more documents to the index using the methods
I mentioned.

Best
Erick

On Wed, Dec 24, 2008 at 8:35 AM, Ian Vink <ianv...@gmail.com> wrote:

> I am building up an index with documents that are hierarchical in their
> relationship to each other. After I insert a Document into the index, how
> do
> I know its document ID? I need that to pass to the next document as the
> "ParentID"
> Ian
>

Reply via email to