Philipp, I think you're confusing between (1) the task of getting a proper range of dates, and (2) the task of getting those dates sorted. Because of its performance-optimzied design, the native Lucene produces results sorted only by relevance. To sort it some other way (by date, in your case, you have to add that functionality yourself (for now anyway - I suspect this capability will be folded into a future release.)
To the best of my knowledge, you can't do it without adding the extra classes (and some performance overhead). Regards, Terry ----- Original Message ----- From: "Philipp Chudinov" <[EMAIL PROTECTED]> To: "Lucene Users List" <[EMAIL PROTECTED]> Sent: Monday, September 02, 2002 4:32 PM Subject: Re: Order by date > Thank you, Terry. But I need to do it without additional classes or smth. > I just can not understand the problem... I've tried to reindex the stuff > with > > doc.add(Field.Keyword("_published", DateField.dateToString(date))); > > and to search with > > Query query = new RangeQuery(null, new Term("_published", > DateField.dateToString(new java.util.Date())), true); > DateFilter filter = DateFilter.Before("_published", new > java.util.Date()); > Hits hits = searcher.search(query, filter); > > maybe, I misunderstand how to use this filter? Does RangeQuery automatically > order results by field? Looks like it should... people in the mailinglist > says, that my first approach works well (when encoding date to string with > pattern(yyyyMMdd), but iam still lobotomized;( > Phil. > > ----- Original Message ----- > From: "Terry Steichen" <[EMAIL PROTECTED]> > To: "Lucene Users List" <[EMAIL PROTECTED]> > Sent: Tuesday, September 03, 2002 1:16 AM > Subject: Re: Order by date > > > > Try Peter Carlson's SearchBean contribution. Check the messages - there > was > > quite a bit of discussion on it. > > > > Regards, > > > > Terry > > > > ----- Original Message ----- > > From: "Philipp Chudinov" <[EMAIL PROTECTED]> > > To: "Lucene Users List" <[EMAIL PROTECTED]> > > Sent: Monday, September 02, 2002 3:21 PM > > Subject: Order by date > > > > > > > Hi! > > > How can I order search results by date? I just need to show n documents, > > > ordered by date (desc). I index documents with > > > > > > doc.add(Field.Keyword("_published", new > > > SimpleDateFormat("yyyyMMddHHmmss").format(date))); > > > > > > , so it gives something like "20020619165800" in this field. Then I use > > > RangeQuery(null, currentdate(formatted the same way > > > indexed("yyyyMMddHHmmss"), true). But results are not ordered properly. > > > Looks like this: > > > > > > 20020619165800 > > > 20020619165800 > > > 20020619165800 > > > 20020711170700 > > > 20020711170700 > > > 20020705131800 > > > 20020705131800 > > > 20020619165900 > > > > > > So, how can I order them? Should I write some kind of "DateFilter" (as > > > suggested here > > > > http://www.mail-archive.com/lucene-user@jakarta.apache.org/msg01266.html)? > > > If so, can't anybody explane me, how can I do this, since I feel myself > as > > a > > > lobotomized flatworm now:( > > > > > > Thanx. > > > > > > > > > -- > > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>