On Wed, 2010-08-25 at 07:16 +0200, Shelly_Singh wrote: > I have 1 bln documents to sort. So, that would mean ( 8 bln bytes == 8GB RAM) > bytes. > All I have is 8 GB on my machine, so I do not think approach would work.
This implies that your numeric value can be more than 2 billion. Are you sure that is true? First suggestion (simple): Ensure that your sort field is stored and sort by requesting the value for each document in the search result. This works okay when the number of hits is small. Second suggestion (complex): Make an int-array with the sort-order of your documents. This takes 4GB and needs to be calculated fully before use, which will take time. After that sorted searches will be very fast and handle a large number of hits well. You can let your indexer maintain the sort-array so that the existing order ban be re-used when adding documents. Whether modifying an existing order-array is cheaper than a full re-sort or not depends on your batch size. Regards, Toke Eskildsen --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org