Author: daniele
Date: 2007-02-22 12:28:56 +0100 (Thu, 22 Feb 2007)
New Revision: 4501
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/CatalogueSearchCommand.java
Log:
Fixed a bug in GeoVisitor, query now supports AND and ANDNOT syntax in
"where"-query.
Modified:
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/CatalogueSearchCommand.java
===================================================================
---
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/CatalogueSearchCommand.java
2007-02-21 21:36:10 UTC (rev 4500)
+++
trunk/core-api/src/main/java/no/schibstedsok/searchportal/mode/command/CatalogueSearchCommand.java
2007-02-22 11:28:56 UTC (rev 4501)
@@ -68,7 +68,9 @@
if(getSingleParameter("userSortBy")!=null
&& getSingleParameter("userSortBy").length()>0){
sortBy=getSingleParameter("userSortBy");
- }
+ }else{
+ sortBy="kw";
+ }
}
@@ -77,7 +79,7 @@
public SearchResult execute() {
// kjør søk for keyword.
searchForName=false;
- super.performQueryTransformation();
+ super.performQueryTransformation();
SearchResult result = super.execute();
searchForName=true;
@@ -89,11 +91,13 @@
// viser vi treff på navn først. Hvis det er angitt att
// det skal sorteres på keywords, viser vi keywords først.
if(sortBy.equals("kw")){
+
+
result.getResults().addAll(nameQueryResult.getResults());
result.setHitCount(result.getHitCount()+nameQueryResult.getHitCount());
}else{
nameQueryResult.getResults().addAll(result.getResults());
-
nameQueryResult.setHitCount(result.getHitCount()+nameQueryResult.getHitCount());
+
nameQueryResult.setHitCount(result.getHitCount()+nameQueryResult.getHitCount());
}
@@ -130,7 +134,8 @@
String query = super.getTransformedQuery();
if(queryTwo!=null&&queryTwo.length()>0){
- query += " " + QL_AND +" (" + queryTwo+")";
+ query += ") " + QL_AND +" (" + queryTwo+")";
+ query= "("+query;
}
return query;
@@ -200,16 +205,14 @@
}
}
-
- /**
- * [EMAIL PROTECTED]
- */
protected void visitImpl(final AndClause clause) {
clause.getFirstClause().accept(this);
- sb.append(QL_AND);
+ if(!(clause.getSecondClause() instanceof NotClause)){
+ sb.append(QL_AND);
+ }
clause.getSecondClause().accept(this);
}
-
+
/**
* [EMAIL PROTECTED]
*/
@@ -228,7 +231,9 @@
*/
protected void visitImpl(final DefaultOperatorClause clause) {
clause.getFirstClause().accept(this);
- sb.append(QL_AND);
+ if(!(clause.getSecondClause() instanceof NotClause)){
+ sb.append(QL_AND);
+ }
clause.getSecondClause().accept(this);
}
@@ -244,6 +249,8 @@
}
}
+
+
/**
* [EMAIL PROTECTED]
*/
_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits