Lucene ordering not working correctly / ruining limimiting
Eirikur Hrafnsson <[email protected]> Thu, 3 May 2007 14:09:43 +0000
| Newsgroups | gmane.comp.jakarta.slide.user,gmane.comp.jakarta.slide.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, (this kind of a resend) I'm having a problem with a Lucene search that should order the results by the modified date and limit the number of results given back to me. It seems that it always returnes an unorderer list of the results which is unusable to me since the first 5 values aren't really the ones I wanted. After a better check it seems that ordering by modified date or creation date doesn't work at all, it was a coincidence that the order was correct in the unlimited search, so the basic problem must be the ordering. Is something wrong with my DASL XML or is it in Slide? After a quick debug of AbstractLuceneExpression it seems that the orderBy parameter in public IBasicResultSet execute(OrderBy orderBy, int limit), is always null. Here's my DASL XML <D:searchrequest xmlns:D='DAV:' xmlns:S='http://jakarta.apache.org/ slide/'> <D:basicsearch> <D:select><D:prop><D:getcontentlength/><D:creationdate/ ><D:displayname/><D:getlastmodified/></D:prop></D:select> <D:from><D:scope><D:href>files</D:href><D:depth>infinity</D:depth></ D:scope></D:from> <D:where><D:and><D:or><D:contains>*</D:contains><S:property- contains><D:prop><D:displayname/></D:prop><D:literal>*</D:literal></ S:property-contains><S:property-contains><D:prop><D:creator- displayname/></D:prop><D:literal>*</D:literal></S:property- contains><S:property-contains><D:prop><D:comment/></ D:prop><D:literal>*</D:literal></S:property-contains></D:or><D:not-is- collection/></D:and></D:where> <D:orderby><D:order><D:prop><D:getlastmodified/></ D:prop><D:descending/></D:order></D:orderby> <D:limit><D:nresults>5</D:nresults></D:limit> </D:basicsearch></D:searchrequest> Any ideas or fixes? Best Regards Eirikur S. Hrafnsson, [email protected] Chief Software Engineer Idega Software http://www.idega.com