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");