Author: gttersen
Date: 2007-05-04 18:10:18 +0200 (Fri, 04 May 2007)
New Revision: 4995

Modified:
   
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
   
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigatableESPFastCommand.java
   
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
   
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/util/ModifierDateComparator.java
   
branches/2.12/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringEspFastCommandConfig.java
   
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspCommandConfig.java
Log:
newsAggregator fixes

Modified: 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
===================================================================
--- 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
        2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/ClusteringESPFastCommand.java
        2007-05-04 16:10:18 UTC (rev 4995)
@@ -35,20 +35,6 @@
         super.modifyQuery(query);
         final ClusteringEspFastCommandConfig config = getSearchConfiguration();
 
-        // Because of a bug in FAST ESP5 related to collapsing and sorting, we 
must use sort direcetion,
-        // and not the +fieldname syntax
-        final StringDataObject sort = 
datamodel.getParameters().getValue(config.getUserSortParameter());
-        String sortType;
-        if (sort != null) {
-            sortType = sort.getString();
-        } else {
-            sortType = config.getDefaultSort();
-        }
-        if (!sortType.equals("relevance")) {
-            query.setParameter(BaseParameter.SORT_BY, config.getSortField());
-            query.setParameter(BaseParameter.SORT_DIRECTION, sortType);
-        }
-
         final StringDataObject clusterId = 
datamodel.getParameters().getValue(config.getClusterIdParameter());
         if (clusterId == null) {
             LOG.debug("--- Modifying query. ---");

Modified: 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigatableESPFastCommand.java
===================================================================
--- 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigatableESPFastCommand.java
       2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NavigatableESPFastCommand.java
       2007-05-04 16:10:18 UTC (rev 4995)
@@ -299,6 +299,9 @@
                     case MONTH_YEAR:
                         
Collections.sort(searchResult.getModifiers(navigatorKey), 
ModifierDateComparator.MONTH_YEAR);
                         break;
+                    case YEAR_MONTH:
+                        
Collections.sort(searchResult.getModifiers(navigatorKey), 
ModifierDateComparator.YEAR_MONTH);
+                        break;
                     case NONE:
                         // Use the soting the index returns
                         break;

Modified: 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
===================================================================
--- 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
    2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsEspSearchCommand.java
    2007-05-04 16:10:18 UTC (rev 4995)
@@ -8,6 +8,7 @@
 import com.fastsearch.esp.search.result.IDocumentSummaryField;
 import com.fastsearch.esp.search.result.IQueryResult;
 import com.fastsearch.esp.search.result.IllegalType;
+import no.schibstedsok.searchportal.datamodel.generic.StringDataObject;
 import no.schibstedsok.searchportal.mode.config.NewsEspCommandConfig;
 import no.schibstedsok.searchportal.query.AndClause;
 import no.schibstedsok.searchportal.query.AndNotClause;
@@ -44,6 +45,24 @@
     protected void modifyQuery(IQuery query) {
         super.modifyQuery(query);
         final NewsEspCommandConfig config = getSearchConfiguration();
+
+        // Because of a bug in FAST ESP5 related to collapsing and sorting, we 
must use sort direcetion,
+        // and not the +fieldname syntax
+        final StringDataObject sort = 
datamodel.getParameters().getValue(config.getUserSortParameter());
+        String sortType;
+        if (sort != null) {
+            sortType = sort.getString();
+        } else {
+            sortType = config.getDefaultSort();
+        }
+        if (sortType.equals("relevance")) {
+            query.setParameter(BaseParameter.SORT_BY, 
config.getRelevanceSortField());
+            query.setParameter(BaseParameter.SORT_DIRECTION, "descending");
+        } else {
+            query.setParameter(BaseParameter.SORT_BY, config.getSortField());
+            query.setParameter(BaseParameter.SORT_DIRECTION, sortType);
+        }
+
         query.setParameter(BaseParameter.HITS, 
Math.max(config.getCollapsingMaxFetch(), config.getResultsToReturn()));
         if (config.isIgnoreOffset()) {
             query.setParameter(new SearchParameter(BaseParameter.OFFSET, 0));

Modified: 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/util/ModifierDateComparator.java
===================================================================
--- 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/util/ModifierDateComparator.java
  2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/core-api/src/main/java/no/schibstedsok/searchportal/util/ModifierDateComparator.java
  2007-05-04 16:10:18 UTC (rev 4995)
@@ -1,32 +1,31 @@
 // Copyright (2007) Schibsted Søk AS
 package no.schibstedsok.searchportal.util;
 
+import 
no.schibstedsok.searchportal.mode.command.AbstractSimpleFastSearchCommand;
 import no.schibstedsok.searchportal.result.Modifier;
-import 
no.schibstedsok.searchportal.mode.command.AbstractSimpleFastSearchCommand;
+import org.apache.log4j.Logger;
 
+import java.text.DateFormat;
+import java.text.MessageFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Comparator;
 import java.util.Date;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.text.ParseException;
-import java.text.MessageFormat;
 
-import org.apache.log4j.Logger;
-
 /**
  * Enum for various reverse date comparators of navigator modifiers.
- *
  */
 public enum ModifierDateComparator implements Comparator<Modifier> {
 
-    YEAR("y",SortOrder.DESCENDING),
+    YEAR("y", SortOrder.DESCENDING),
     MONTH_YEAR("M-y", SortOrder.ASCENDING),
     DAY_MONTH_YEAR("d-M-y", SortOrder.ASCENDING),
-    DAY_MONTH_YEAR_DESCENDING("d-M-y", SortOrder.DESCENDING);
+    DAY_MONTH_YEAR_DESCENDING("d-M-y", SortOrder.DESCENDING),
+    YEAR_MONTH("y-M", SortOrder.DESCENDING);
 
     private static final Logger LOG = 
Logger.getLogger(AbstractSimpleFastSearchCommand.class);
     private static final String ERR_PARSE_ERROR = "Unable to parse date {0} or 
{1}";
-                
+
     private final String format;
     private final SortOrder sortOrder;
 
@@ -36,7 +35,6 @@
     }
 
     /**
-     *
      * @param format A DateFormat string.
      */
     ModifierDateComparator(final String format, final SortOrder sortOrder) {
@@ -44,7 +42,9 @@
         this.sortOrder = sortOrder;
     }
 
-    /** @{inheritDoc} */
+    /**
+     * @{inheritDoc}
+     */
     public int compare(final Modifier m1, final Modifier m2) {
 
         final DateFormat fmt = new SimpleDateFormat(format);
@@ -54,7 +54,7 @@
             final Date d1 = fmt.parse(m1.getName());
             final Date d2 = fmt.parse(m2.getName());
 
-            switch(sortOrder) {
+            switch (sortOrder) {
                 case ASCENDING:
                     return d1.compareTo(d2);
                 case DESCENDING:

Modified: 
branches/2.12/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
===================================================================
--- 
branches/2.12/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/result-spi/src/main/java/no/schibstedsok/searchportal/result/Navigator.java
   2007-05-04 16:10:18 UTC (rev 4995)
@@ -26,6 +26,7 @@
         MONTH_YEAR(),
         DAY_MONTH_YEAR(),
         DAY_MONTH_YEAR_DESCENDING,
+        YEAR_MONTH,
         NONE
     }
 

Modified: 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringEspFastCommandConfig.java
===================================================================
--- 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringEspFastCommandConfig.java
  2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/ClusteringEspFastCommandConfig.java
  2007-05-04 16:10:18 UTC (rev 4995)
@@ -16,27 +16,10 @@
     private String clusterIdParameter = "clusterId";
     private int resultsPerCluster;
     private String clusterField;
-    private String userSortParameter;
-    private String sortField;
-    private String defaultSort;
 
     /**
      * @return
      */
-    public String getUserSortParameter() {
-        return userSortParameter;
-    }
-
-    /**
-     * @param userSortParameter
-     */
-    public void setUserSortParameter(String userSortParameter) {
-        this.userSortParameter = userSortParameter;
-    }
-
-    /**
-     * @return
-     */
     public String getClusterIdParameter() {
         return clusterIdParameter;
     }
@@ -76,35 +59,7 @@
         this.clusterField = clusterField;
     }
 
-    /**
-     * @return
-     */
-    public String getSortField() {
-        return sortField;
-    }
 
-    /**
-     * @param sortField
-     */
-    public void setSortField(String sortField) {
-        this.sortField = sortField;
-    }
-
-
-    /**
-     * @return
-     */
-    public String getDefaultSort() {
-        return defaultSort;
-    }
-
-    /**
-     * @param defaultSort
-     */
-    public void setDefaultSort(String defaultSort) {
-        this.defaultSort = defaultSort;
-    }
-
     @Override
     public CommandConfig readSearchConfiguration(
             final Element element,
@@ -116,10 +71,6 @@
                 .fillBeanProperty(this, inherit, "clusterIdParameter", 
ParseType.String, element, "clusterId");
         AbstractDocumentFactory.fillBeanProperty(this, inherit, 
"resultsPerCluster", ParseType.Int, element, "");
         AbstractDocumentFactory.fillBeanProperty(this, inherit, 
"clusterField", ParseType.String, element, "cluster");
-        AbstractDocumentFactory.fillBeanProperty(this, inherit, "sortField", 
ParseType.String, element, "publishedtime");
-        AbstractDocumentFactory.fillBeanProperty(this, inherit, "defaultSort", 
ParseType.String, element, "descending");
-        AbstractDocumentFactory.fillBeanProperty(this, inherit, 
"userSortParameter", ParseType.String, element, "sort");
-
         return this;
     }
 

Modified: 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspCommandConfig.java
===================================================================
--- 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspCommandConfig.java
    2007-05-04 06:07:14 UTC (rev 4994)
+++ 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NewsEspCommandConfig.java
    2007-05-04 16:10:18 UTC (rev 4995)
@@ -20,11 +20,60 @@
     private String mediumParameter = "medium";
     private String nestedResultsField;
     private int collapsingMaxFetch;
+    private String userSortParameter;
+    private String sortField;
+    private String defaultSort;
+
     private boolean ignoreOffset = false;
+    private String relevanceSortField;
 
+
     /**
      * @return
      */
+    public String getUserSortParameter() {
+        return userSortParameter;
+    }
+
+    /**
+     * @param userSortParameter
+     */
+    public void setUserSortParameter(String userSortParameter) {
+        this.userSortParameter = userSortParameter;
+    }
+
+    /**
+     * @return
+     */
+    public String getSortField() {
+        return sortField;
+    }
+
+    /**
+     * @param sortField
+     */
+    public void setSortField(String sortField) {
+        this.sortField = sortField;
+    }
+
+
+    /**
+     * @return
+     */
+    public String getDefaultSort() {
+        return defaultSort;
+    }
+
+    /**
+     * @param defaultSort
+     */
+    public void setDefaultSort(String defaultSort) {
+        this.defaultSort = defaultSort;
+    }
+
+    /**
+     * @return
+     */
     public int getCollapsingMaxFetch() {
         return collapsingMaxFetch;
     }
@@ -89,6 +138,23 @@
         this.mediumParameter = mediumParameter;
     }
 
+    public boolean isIgnoreOffset() {
+        return ignoreOffset;
+    }
+
+    public void setIgnoreOffset(boolean ignoreOffset) {
+        this.ignoreOffset = ignoreOffset;
+    }
+
+
+    public String getRelevanceSortField() {
+        return relevanceSortField;
+    }
+
+    public void setRelevanceSortField(String relevanceSortField) {
+        this.relevanceSortField = relevanceSortField;
+    }
+
     @Override
     public CommandConfig readSearchConfiguration(
             final Element element,
@@ -109,17 +175,12 @@
         AbstractDocumentFactory
                 .fillBeanProperty(this, inherit, "ignoreOffset", 
ParseType.Boolean, element, "false");
 
+        AbstractDocumentFactory.fillBeanProperty(this, inherit, "sortField", 
ParseType.String, element, "publishedtime");
+        AbstractDocumentFactory.fillBeanProperty(this, inherit, "defaultSort", 
ParseType.String, element, "descending");
+        AbstractDocumentFactory.fillBeanProperty(this, inherit, 
"userSortParameter", ParseType.String, element, "sort");
+        AbstractDocumentFactory.fillBeanProperty(this, inherit, 
"relevanceSortField", ParseType.String, element, "freshnessprofile");
         return this;
     }
 
 
-    public boolean isIgnoreOffset() {
-        return ignoreOffset;
-    }
-
-    public void setIgnoreOffset(boolean ignoreOffset) {
-        this.ignoreOffset = ignoreOffset;
-    }
-
-
 }

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to