Or ... move to use a per-segment array. Then you don't need to rely on doc IDs changing. You will need to build the array from the documents that are in that segment only.
It's like FieldCache in a way. The array is relevant as long as the segment exists (i.e. not merged away). Hope this helps. Shai On Mar 27, 2012 9:29 AM, "Christoph Kaser" <lucene_l...@iconparc.de> wrote: > Hi all, > > I have a search application with 16 million documents that uses custom > scores per document using a ValueSource. These values are updated a lot > (and sometimes all at once), so I can't really write them into the index > for performance reasons. Instead, I simply have a huge array of float > values in memory and use the document ID as index in the array. > This works great as long as the index is not changed, but as soon as I > have a few new documents and deletions, index segments are merged (I > suppose) and the document IDs of existing documents change. Is there any > way to be informed when document IDs of existing documents change? If so, > is there a way to calculate the new document ID from the old one, so I can > "convert" my array to the new document IDs? > > Any help would be greatly appreciated! > > Best regards, > Christoph > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > java-user-unsubscribe@lucene.**apache.org<java-user-unsubscr...@lucene.apache.org> > For additional commands, e-mail: > java-user-help@lucene.apache.**org<java-user-h...@lucene.apache.org> > >