Lucene ordering not working correctly when limiting the returned results number

Eirikur Hrafnsson <[email protected]> Wed, 2 May 2007 10:47:56 +0000
Newsgroups gmane.comp.jakarta.slide.devel
Message-ID <[email protected]>
Hi,

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...

If I only specify the ordering it seems to work fine but as soon as I  
limit it to e.g. 5 results the results aren't the top 5 items from  
the unlimited search but just some part (i'm guessing the first  
unordered part) of the total result.

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