[Yanel-commits] rev 26515 - public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Mon Aug 6 12:18:50 CEST 2007


Author: michi
Date: 2007-08-06 12:18:50 +0200 (Mon, 06 Aug 2007)
New Revision: 26515

Modified:
   public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java
Log:
hit count fixed

Modified: public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java	2007-08-06 10:18:20 UTC (rev 26514)
+++ public/yanel/trunk/src/contributions/resources/nutch/src/java/org/wyona/yanel/impl/resources/NutchResource.java	2007-08-06 10:18:50 UTC (rev 26515)
@@ -98,10 +98,7 @@
     private File crawlDir = null;
     private String exceptionMessage = null;
     private int start = 0;
-    private int hitsPerPage = 10;
-    private int numberOfPagesShown = 20;
-    private int totalHitCount = 100;
-    private long totalHits = 0;
+    private int defaultNumberOfPagesShown = 20;
     private String defaultFile = "nutch-default.xml";
     private String localFile = "nutch-local.xml";
     private String searchTerm = "";
@@ -178,12 +175,6 @@
         } catch(Exception e) {
             start = _start;
         }
-        int _hitsPerPage = 10;
-        try {
-            hitsPerPage = Integer.parseInt(request.getParameter("hitsPerPage"));
-        } catch(Exception e) {
-            hitsPerPage = _hitsPerPage;
-        }
 
         int idx = 0;
         try {
@@ -275,7 +266,7 @@
             try {
                 crawlDir = new File(configuration.get("searcher.dir"));
                 if (crawlDir != null && crawlDir.isDirectory()) {
-                    getSearchResults(document, rootElement, searchTerm, start, hitsPerPage);
+                    getSearchResults(document, rootElement, searchTerm, start);
                 } else {
                     Element exceptionElement = (Element) rootElement.appendChild(document.createElementNS(NAME_SPACE, "exception"));
                     exceptionMessage = "noSuchCrawlDirectory#" + crawlDir;
@@ -521,16 +512,18 @@
      * @param rootElement Root element of DOM
      * @param searchTerm Search term
      * @param start Position of found results for searchTerm 
-     * @param hitsPerPage Number of hits per page
      */
-    private void getSearchResults(Document document, Element rootElement, String searchTerm, int start, int hitsPerPage) {
+    private void getSearchResults(Document document, Element rootElement, String searchTerm, int start) {
         try {
             Query query = Query.parse(searchTerm, configuration);
             //log.error("DEBUG: Query: " + query);
             nutchBean = new NutchBean(configuration);
+            int hitsPerPage = 10;
+            if (request.getParameter("hitsPerPage") != null) hitsPerPage = Integer.parseInt(request.getParameter("hitsPerPage"));
+            int totalHitCount = hitsPerPage * defaultNumberOfPagesShown;
             Hits hits = nutchBean.search(query, totalHitCount);
-            totalHits = hits.getTotal();
-            int range = (int) Math.min(hits.getTotal() - start, hitsPerPage);
+            long totalHits = hits.getTotal();
+            int range = (int) Math.min(totalHits - start, hitsPerPage);
             Hit[] show = hits.getHits(start, range);
             HitDetails[] details = nutchBean.getDetails(show);
             Summary[] summaries = nutchBean.getSummary(details, query);
@@ -555,7 +548,7 @@
                     resultsElement.setAttributeNS(NAME_SPACE, "hitsPerPage", "" + hitsPerPage);
                     resultsElement.setAttributeNS(NAME_SPACE, "totalHits", "" + totalHits);
                     resultsElement.setAttributeNS(NAME_SPACE, "currentPageNo", "" + ((start / hitsPerPage) + 1));
-                resultsElement.setAttributeNS(NAME_SPACE, "numberOfPagesShown", "" + numberOfPagesShown);
+                resultsElement.setAttributeNS(NAME_SPACE, "numberOfPagesShown", "" + defaultNumberOfPagesShown);
                 }
                 for (int i = 0; i < show.length; i++) {
                     Element resultElement = (Element) resultsElement.appendChild(document.createElementNS(NAME_SPACE, "result"));
@@ -721,8 +714,6 @@
         transformer.setParameter("yanel.path", getPath().toString());
         transformer.setParameter("yanel.back2context", PathUtil.backToContext(realm, getPath()));
         transformer.setParameter("yarep.back2realm", PathUtil.backToRealm(getPath()));
-        transformer.setParameter("hitsPerPage", "" + hitsPerPage);
-        transformer.setParameter("totalHits", "" + totalHits);
         if (searchTerm != null && searchTerm.length() > 0) {
             transformer.setParameter("query", "" + searchTerm);
         }



More information about the Yanel-commits mailing list