> When you say you keep your documents ordered alphabetically, it's confusing > to me. Are you saying that you pre-sort all your documents then insert them > one after another so that automatically-generated internal Lucene ID maps > exactly to the alphabetical ordering? That is, for any document IDs D1 and > D2 and any documents C1 and C2 (where C1 and C2 are the alphabetical > representations of the documents, whatever that means) if D1 < D2 then C1 < > C2?
Yes, this is a pre-sort. For our application we have some fairly large result sets and using the standard sort on a name field was too slow. By pre-sorting before we index we can make sure that all the docs are inserted in alpha order, and then sort them by index order just as fast or faster than the standard relvance sort. This: Hits hits = searcher.search(query, Sort.INDEXORDER); is much faster than: Hits hits = searcher.search(query, new Sort("fullname")); > The short answer is that you can't insert a document into a Lucene index > and have any control whatsoever about the assigned document ID. The > assigned document ID is always greater than the maximum document ID already > in your index. I know that there is no direct way to insert a doc a at a specified position with a single IndexWriter method, but it seems that there is a better way then reindexing everything. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]