You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ku...@apache.org on 2008/02/18 07:38:47 UTC
svn commit: r628631 - in /lucene/nutch/trunk: CHANGES.txt
conf/nutch-default.xml
src/java/org/apache/nutch/searcher/OpenSearchServlet.java
src/web/jsp/search.jsp
Author: kubes
Date: Sun Feb 17 22:38:46 2008
New Revision: 628631
URL: http://svn.apache.org/viewvc?rev=628631&view=rev
Log:
NUTCH-44 - Too many search results. Configurable limit on max number of search results returned. Thanks Emilijan Mirceski and Susam Pal.
Modified:
lucene/nutch/trunk/CHANGES.txt
lucene/nutch/trunk/conf/nutch-default.xml
lucene/nutch/trunk/src/java/org/apache/nutch/searcher/OpenSearchServlet.java
lucene/nutch/trunk/src/web/jsp/search.jsp
Modified: lucene/nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/CHANGES.txt?rev=628631&r1=628630&r2=628631&view=diff
==============================================================================
--- lucene/nutch/trunk/CHANGES.txt (original)
+++ lucene/nutch/trunk/CHANGES.txt Sun Feb 17 22:38:46 2008
@@ -212,6 +212,9 @@
76. NUTCH-611 - Upgrade Nutch to use Hadoop 0.16 (kubes)
+77. NUTCH-44 - Too many search results, limits max results returned from a
+ single search. (Emilijan Mirceski and Susam Pal via kubes)
+
Release 0.9 - 2007-04-02
1. Changed log4j confiquration to log to stdout on commandline
Modified: lucene/nutch/trunk/conf/nutch-default.xml
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/conf/nutch-default.xml?rev=628631&r1=628630&r2=628631&view=diff
==============================================================================
--- lucene/nutch/trunk/conf/nutch-default.xml (original)
+++ lucene/nutch/trunk/conf/nutch-default.xml Sun Feb 17 22:38:46 2008
@@ -811,6 +811,17 @@
</description>
</property>
+<property>
+ <name>searcher.max.hits.per.page</name>
+ <value>1000</value>
+ <description> The maximum number of hits to show per page. -1 if
+ unlimited. If the number of hits requested by the user (via
+ hitsPerPage parameter in the query string) is more than the value
+ specified in this property, then this value is assumed as the number
+ of hits per page.
+ </description>
+</property>
+
<!-- URL normalizer properties -->
<property>
Modified: lucene/nutch/trunk/src/java/org/apache/nutch/searcher/OpenSearchServlet.java
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/src/java/org/apache/nutch/searcher/OpenSearchServlet.java?rev=628631&r1=628630&r2=628631&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/searcher/OpenSearchServlet.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/searcher/OpenSearchServlet.java Sun Feb 17 22:38:46 2008
@@ -45,6 +45,7 @@
* Nutch-specific extensions. */
public class OpenSearchServlet extends HttpServlet {
private static final Map NS_MAP = new HashMap();
+ private int MAX_HITS_PER_PAGE;
static {
NS_MAP.put("opensearch", "http://a9.com/-/spec/opensearchrss/1.0/");
@@ -67,6 +68,7 @@
} catch (IOException e) {
throw new ServletException(e);
}
+ MAX_HITS_PER_PAGE = conf.getInt("searcher.max.hits.per.page", -1);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -95,6 +97,8 @@
String hitsString = request.getParameter("hitsPerPage");
if (hitsString != null)
hitsPerPage = Integer.parseInt(hitsString);
+ if(MAX_HITS_PER_PAGE > 0 && hitsPerPage > MAX_HITS_PER_PAGE)
+ hitsPerPage = MAX_HITS_PER_PAGE;
String sort = request.getParameter("sort");
boolean reverse =
Modified: lucene/nutch/trunk/src/web/jsp/search.jsp
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/src/web/jsp/search.jsp?rev=628631&r1=628630&r2=628631&view=diff
==============================================================================
--- lucene/nutch/trunk/src/web/jsp/search.jsp (original)
+++ lucene/nutch/trunk/src/web/jsp/search.jsp Sun Feb 17 22:38:46 2008
@@ -40,6 +40,11 @@
private int HITS_TO_CLUSTER;
/**
+ * Maximum hits per page to be displayed.
+ */
+ private int MAX_HITS_PER_PAGE;
+
+ /**
* An instance of the clustering extension, if available.
*/
private OnlineClusterer clusterer;
@@ -57,8 +62,8 @@
final ServletContext application = getServletContext();
nutchConf = NutchConfiguration.get(application);
-
- HITS_TO_CLUSTER = nutchConf.getInt("extension.clustering.hits-to-cluster", 100);
+ HITS_TO_CLUSTER = nutchConf.getInt("extension.clustering.hits-to-cluster", 100);
+ MAX_HITS_PER_PAGE = nutchConf.getInt("searcher.max.hits.per.page", -1);
try {
clusterer = new OnlineClustererFactory(nutchConf).getOnlineClusterer();
@@ -105,6 +110,8 @@
String hitsString = request.getParameter("hitsPerPage");
if (hitsString != null)
hitsPerPage = Integer.parseInt(hitsString);
+ if(MAX_HITS_PER_PAGE > 0 && hitsPerPage > MAX_HITS_PER_PAGE)
+ hitsPerPage = MAX_HITS_PER_PAGE;
int hitsPerSite = 2; // max hits per site
String hitsPerSiteString = request.getParameter("hitsPerSite");