Possibly the fastest way to do this is to use a sortable timestamp field (e.g. padded long) and use a TermEnumerator, which always gives a lexicographically-sorted enumeration. Since you'd probably prefer a "most recent" policy you may need to come up with a reverse-timestamp scheme (e.g. instead of zero-padded "milliseconds since epoch" you may prefer zero-padded "milliseconds 'till year 3000" values).
Lucene doesn't handle this type of queries very efficiently, however, so you may prefer an SQL database instead (or in addition). --TG Cool The Breezer wrote: > > Hi, > In my index, there is a field called timestamp which is long value of > date. I am trying to get sort all documents by timestamp and get N > documents. > I am trying to find a way to create a query like "timestamp > 0" and then > order the result by timestamp and get N fields. However I am not able to > do that. Suggest me the best way. Or there are any lowlevel method > available for the same. > > I am using Lucene 2.3.1 and looking into method search(Weight weight, > Filter filter, int nDocs, Sort sort) in IndexSearcher. Trying to know how > to create a Weight object. > > Anyway, I would really appreciate your suggestion.... > > -RB > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > ----- -- http://www.tomergabel.com Tomer Gabel -- View this message in context: http://www.nabble.com/Order-the-index-by-timestamp-field-and-Get-n-documents-tp20414870p20523960.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]