The way I do it is thus:

When hits.totalIsExact(), the final page can be found simply from hits.getTotal()

When NOT hits.totalIsExact(), I run the query again, this time retrieving say 1000 urls (the max number of results I allow to be returned). Using a loop (increment counter by number of results per page), I can therefore determine when we reach the last record, and hence what the final page is.

Cheers...
Roger

----- Original Message ----- From: "Feri" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, April 01, 2005 1:50 AM
Subject: hits page list



Dear Developers,

I have a problem:


I would like a page list (1-10) to end of hit-list (as google).
I have a problem when more hits from a site, the Hits.getTotal() not return by the real end of the hits.
When I click to eg. on the 3. page, the result is an empty page (NutchBean.search is out of the range).


My pagelist code:
<table width=100% border=0>
<tr>
<td align=center>
<%
 // generate hits page list (1..10)
 long pageNumber = 0;

// Prev page (<<)
if (start>0) {
long prevStart = start-hitsPerPage;
prevStart = (prevStart > 0) ? prevStart : 0;
%>
<a href="search.jsp?query=<%=htmlQueryString%>&start=<%=prevStart%>&hitsPerPage=<%=hitsPerPage%>&clustering=<%=clustering%>"><<&nbsp;</a>
<%
}


if (hits.getTotal() > hitsPerPage ) // If have more page
if (start > 9 * hitsPerPage) { // If we reach the 10. page
long startPageNumber= (start-(7 * hitsPerPage)+1) / hitsPerPage;
pageNumber=startPageNumber;
for (long i = start-(7 * hitsPerPage)+1; i < hits.getTotal(); i=i+ hitsPerPage) {
pageNumber++;
if (start==i-1) { %>
<b><%=pageNumber%></b>&nbsp;
<% } else { %>
<a href="search.jsp?query=<%=htmlQueryString%>&start=<%=i-1%>&hitsPerPage=<%=hitsPerPage%>&clustering=<%=clustering%>"><%=pageNumber%></a>&nbsp;
<% }
if (pageNumber >= startPageNumber+15) {
i = hits.getTotal();
}
}
} else { // Curent page center into the pagelist
for (long i = 1; i < hits.getTotal(); i=i+ hitsPerPage) {
pageNumber++;
if (start==i-1) { %>
<b><%=pageNumber%></b>&nbsp;
<% } else { %>
<a href="search.jsp?query=<%=htmlQueryString%>&start=<%=i-1%>&hitsPerPage=<%=hitsPerPage%>&clustering=<%=clustering%>"><%=pageNumber%></a>&nbsp;
<% }
if (pageNumber >= 10) {
i = hits.getTotal();
}
}
}


// Next page (>>)
if (hits.getTotal() > start+hitsPerPage)
{
if (end <hits.getTotal()) { %>
<a href="search.jsp?query=<%=htmlQueryString%>&start=<%=end%>&hitsPerPage=<%=hitsPerPage%>&clustering=<%=clustering%>">&nbsp;>></a>
<%
}
}
%>
</td>
</tr>
</table>





------------------------------------------------------- This SF.net email is sponsored by Demarc: A global provider of Threat Management Solutions. Download our HomeAdmin security software for free today! http://www.demarc.com/Info/Sentarus/hamr30 _______________________________________________ Nutch-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nutch-developers

Reply via email to