Author: ssthkjer
Date: 2007-01-08 14:38:00 +0100 (Mon, 08 Jan 2007)
New Revision: 4279
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSimpleFastSearchCommand.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsSearchCommand.java
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/config/FastSearchConfiguration.java
Log:
Added new filtertype attribute. Use this for newscommand
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
2007-01-08 13:16:13 UTC (rev 4278)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/SearchModeFactory.java
2007-01-08 13:38:00 UTC (rev 4279)
@@ -441,8 +441,8 @@
}
fillBeanProperty(sc, inherit, "filter", ParseType.String ,
commandE, "");
+ fillBeanProperty(sc, inherit, "filtertype",
ParseType.String , commandE, "");
fillBeanProperty(sc, inherit, "ignoreNavigation",
ParseType.Boolean , commandE, "false");
- fillBeanProperty(sc, inherit, "norwegianNewsNavigator",
ParseType.Boolean , commandE, "false");
fillBeanProperty(sc, inherit, "offensiveScoreLimit",
ParseType.Int , commandE, "-1");
fillBeanProperty(sc, inherit, "qtPipeline",
ParseType.String , commandE, "");
fillBeanProperty(sc, inherit, "queryServerUrl",
ParseType.String , commandE, "");
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSimpleFastSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSimpleFastSearchCommand.java
2007-01-08 13:16:13 UTC (rev 4278)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/AbstractSimpleFastSearchCommand.java
2007-01-08 13:38:00 UTC (rev 4279)
@@ -126,9 +126,12 @@
final String modifiers[] = (String[]) navigatedValues.get(field);
- for (int i = 0; i < modifiers.length; i++) {
- if (!field.equals("contentsource") ||
!modifiers[i].equals("Norske nyheter")){
- filterStrings.add("+" + field + ":\"" + modifiers[i] +
"\"");
+ for (int i = 0; i < modifiers.length; i++) {
+ if (!field.equals("contentsource") ||
!modifiers[i].equals("Norske nyheter")) {
+ if (
"adv".equals(getSearchConfiguration().getFiltertype()) )
+ filterStrings.add(" AND " + field + ":\"" +
modifiers[i] + "\"");
+ else
+ filterStrings.add("+" + field + ":\"" + modifiers[i] +
"\"");
}
}
}
@@ -731,7 +734,10 @@
LOG.debug("createQuery: superFilter=" + superFilter);
- params.setParameter(new SearchParameter("filtertype", "any"));
+ if (getSearchConfiguration().getFiltertype() != null &&
getSearchConfiguration().getFiltertype().equals("adv"))
+ params.setParameter(new SearchParameter("filtertype", "adv"));
+ else
+ params.setParameter(new SearchParameter("filtertype", "any"));
params.setParameter(new SearchParameter(BaseParameter.TYPE, "all"));
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsSearchCommand.java
2007-01-08 13:16:13 UTC (rev 4278)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/NewsSearchCommand.java
2007-01-08 13:38:00 UTC (rev 4279)
@@ -78,48 +78,55 @@
if (containsJustThePrefix() ||
getTransformedQuery().equals("")) {
filterBuilder.append(FAST_SIZE_HACK);
}
+
+ GregorianCalendar calendar = new java.util.GregorianCalendar();
+ calendar.add( java.util.Calendar.MONTH, -24 );
+ final SimpleDateFormat formatter = new
SimpleDateFormat("yyyy-MM-dd");
+ String newsdate = formatter.format(calendar.getTime());
if (!getSearchConfiguration().isIgnoreNavigation()) {
final String contentSource = getParameter("contentsource");
final String newsCountry = getParameter("newscountry");
- final String newsSource = getParameter("newssource");
+ final String newsSource = getParameter("newssource");
- // AAhhrghh. Need to provide backwards compatibility.
- // People are linking us using contentsource="Norske
nyheter"
- if (contentSource != null && !contentSource.equals("")) {
- if (contentSource.equals("Norske nyheter")) {
- filterBuilder.append(" +newscountry:Norge");
+ // general rule is to display news fresher than 2 years,
but with exceptions for:
+ // "norske papiraviser" -> display for all years
+ // certain newssources (as listed below) -> display for
all years
+ if (!contentSource.equals("Mediearkivet")) {
+
+ // AAhhrghh. Need to provide backwards compatibility.
+ // People are linking us using contentsource="Norske
nyheter"
+ if (contentSource != null &&
!contentSource.equals("")) {
+ if (contentSource.equals("Norske nyheter")) {
+ filterBuilder.append(" AND newscountry:Norge");
+ } else {
+ filterBuilder.append(" AND contentsource:\""+
contentSource + "\"");
+ }
} else {
- filterBuilder.append(" +contentsource:"+
contentSource);
+ if (newsCountry != null && !newsCountry.equals(""))
+ filterBuilder.append(" AND newscountry:\""+
newsCountry + "\"");
}
- }
- if (newsCountry != null && !newsCountry.equals("")) {
- filterBuilder.append(" +newscountry:"+ newsCountry);
- }
+ filterBuilder.append(" ANDNOT meta.collection:mano");
+ filterBuilder.append(" AND (docdatetime:>" + newsdate);
+ filterBuilder.append(" OR newssource:Digi.no");
+ filterBuilder.append(" OR newssource:DinSide");
+ filterBuilder.append(" OR newssource:ITavisen");
+ filterBuilder.append(" OR newssource:iMarkedet");
+ filterBuilder.append(" OR newssource:Propaganda )");
- // Add filter to remove papernews from norwegian newssearch
- // and only display news fresher than 2 years except for
some newssources (deal with Retriever)
- if (!contentSource.equals("Mediearkivet")) {
- filterBuilder.append(" -meta.collection:mano");
- if (!newsSource.equals("DinSide") &&
!newsSource.equals("Digi.no") && !newsSource.equals("ITavisen") &&
!newsSource.equals("iMarkedet") && !newsSource.equals("Propaganda")) {
- GregorianCalendar calendar = new
java.util.GregorianCalendar();
- calendar.add( java.util.Calendar.MONTH, -24 );
- final SimpleDateFormat formatter = new
SimpleDateFormat("yyyy-MM-dd");
- String xx = formatter.format(calendar.getTime());
- filterBuilder.append(" +docdatetime:>" + xx);
- }
+ // PAPERNEWS:
+ } else {
+ filterBuilder.append(" AND contentsource:" +
contentSource);
}
} else {
- GregorianCalendar calendar = new
java.util.GregorianCalendar();
- calendar.add( java.util.Calendar.MONTH, -24 );
- final SimpleDateFormat formatter = new
SimpleDateFormat("yyyy-MM-dd");
- String xx = formatter.format(calendar.getTime());
- filterBuilder.append(" +docdatetime:>" + xx);
-
- if (getSearchConfiguration().isNorwegianNewsNavigator()) {
- filterBuilder.append(" +newscountry:Norge");
- }
+ filterBuilder.append(" AND (docdatetime:>" + newsdate);
+ filterBuilder.append(" OR newssource:Digi.no");
+ filterBuilder.append(" OR newssource:DinSide");
+ filterBuilder.append(" OR newssource:ITavisen");
+ filterBuilder.append(" OR newssource:iMarkedet");
+ filterBuilder.append(" OR newssource:Propaganda ");
+ filterBuilder.append(" OR meta.collection:mano )");
}
}
}
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/config/FastSearchConfiguration.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/config/FastSearchConfiguration.java
2007-01-08 13:16:13 UTC (rev 4278)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/config/FastSearchConfiguration.java
2007-01-08 13:38:00 UTC (rev 4279)
@@ -23,6 +23,7 @@
private static final Logger LOG =
Logger.getLogger(FastSearchConfiguration.class);
private static final String[] ALL_COLLECTIONS = {
+ "retriever",
"tv",
"webcrawlno1",
"webcrawlno1",
@@ -35,8 +36,7 @@
"yellow",
"white",
"weather",
- "carelscrawl",
- "retriever",
+ "carelscrawl",
"moreover",
"retrievernordic",
"mano",
@@ -60,11 +60,11 @@
private String resultView;
private boolean clustering = false;
private boolean ignoreNavigation = false;
- private boolean norwegianNewsNavigator = false;
private int offensiveScoreLimit = 0;
private int spamScoreLimit = 0;
private String filter;
+ private String filtertype;
private boolean relevantQueries = false;
@@ -93,10 +93,10 @@
resultView = fsc.resultView;
clustering = fsc.clustering;
ignoreNavigation = fsc.ignoreNavigation;
- norwegianNewsNavigator = fsc.norwegianNewsNavigator;
offensiveScoreLimit = fsc.offensiveScoreLimit;
spamScoreLimit = fsc.spamScoreLimit;
filter = fsc.filter;
+ filtertype = fsc.filtertype;
relevantQueries = fsc.relevantQueries;
}
}
@@ -138,8 +138,17 @@
final String coll[] = collectionStrings.toArray(new
String[collectionStrings.size()]);
- for (int i = 0; i < coll.length; i++) {
- coll[i] = "-meta.collection:" + coll[i];
+ if ("adv".equals(this.filtertype)) {
+ for (int i = 0; i < coll.length; i++) {
+ if (i == 0)
+ coll[i] = " size:>0 ANDNOT meta.collection:" + coll[i];
+ else
+ coll[i] = " ANDNOT meta.collection:" + coll[i];
+ }
+ } else {
+ for (int i = 0; i < coll.length; i++) {
+ coll[i] = " -meta.collection:" + coll[i];
+ }
}
return coll;
}
@@ -252,14 +261,6 @@
public void setIgnoreNavigation(final boolean ignoreNavigationEnabled) {
this.ignoreNavigation = ignoreNavigationEnabled;
}
-
- public boolean isNorwegianNewsNavigator() {
- return norwegianNewsNavigator;
- }
-
- public void setNorwegianNewsNavigator(final boolean
norwegianNewsNavigatorEnabled) {
- this.norwegianNewsNavigator = norwegianNewsNavigatorEnabled;
- }
public int getOffensiveScoreLimit() {
return offensiveScoreLimit;
@@ -276,7 +277,16 @@
public String getFilter() {
return filter;
}
+
+ public String getFiltertype() {
+ return filtertype;
+ }
+ public void setFiltertype(final String filtertype) {
+ this.filtertype = filtertype;
+ }
+
+
void setSpamScoreLimit(final int i) {
spamScoreLimit = i;
}
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits