You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gi...@apache.org on 2007/12/11 09:11:47 UTC

svn commit: r603171 - in /cocoon/trunk/blocks: ./ cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/

Author: giacomo
Date: Tue Dec 11 00:11:42 2007
New Revision: 603171

URL: http://svn.apache.org/viewvc?rev=603171&view=rev
Log:
fixed cocoon-querybean according to new Lucene API

Modified:
    cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneCriterionBean.java
    cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneQueryBean.java
    cocoon/trunk/blocks/pom.xml

Modified: cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneCriterionBean.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneCriterionBean.java?rev=603171&r1=603170&r2=603171&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneCriterionBean.java (original)
+++ cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneCriterionBean.java Tue Dec 11 00:11:42 2007
@@ -26,6 +26,7 @@
 import org.apache.lucene.analysis.Token;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.index.Term;
+import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.FuzzyQuery;
 import org.apache.lucene.search.PhraseQuery;
@@ -124,7 +125,7 @@
 			if (words.size() > 1) {
 				query = new BooleanQuery();
 				for (int i = 0; i < words.size(); i++) {
-					((BooleanQuery)query).add(new TermQuery(new Term(f, (String)words.elementAt(i))), false, false);
+					((BooleanQuery)query).add(new TermQuery(new Term(f, (String)words.elementAt(i))), BooleanClause.Occur.SHOULD);
 				}
 			} else if (words.size() == 1) {
 				query = new TermQuery(new Term(f, (String)words.elementAt(0)));
@@ -135,7 +136,7 @@
 			if (words.size() > 1) {
 				query = new BooleanQuery();
 				for (int i = 0; i < words.size(); i++) {
-					((BooleanQuery)query).add(new TermQuery(new Term (f, (String)words.elementAt(i))), true, false);
+					((BooleanQuery)query).add(new TermQuery(new Term (f, (String)words.elementAt(i))), BooleanClause.Occur.MUST);
 				}
 			} else if (words.size() == 1) {
 				query = new TermQuery(new Term(f, (String)words.elementAt(0)));
@@ -146,7 +147,7 @@
 			if (words.size() > 1) {
 				query = new BooleanQuery();
 				for (int i = 0; i < words.size(); i++) {
-					((BooleanQuery)query).add(new TermQuery(new Term(f, (String)words.elementAt(i))), true, true);
+					((BooleanQuery)query).add(new TermQuery(new Term(f, (String)words.elementAt(i))), BooleanClause.Occur.MUST_NOT);
 				}
 			} else if (words.size() == 1) {
 				query = new TermQuery(new Term(f, (String)words.elementAt(0)));
@@ -157,7 +158,7 @@
 			if (words.size() > 1) {
 				query = new BooleanQuery();
 				for (int i = 0; i < words.size(); i++) {
-					((BooleanQuery)query).add(new FuzzyQuery(new Term(f, (String)words.elementAt(i))), false, false);
+					((BooleanQuery)query).add(new FuzzyQuery(new Term(f, (String)words.elementAt(i))), BooleanClause.Occur.SHOULD);
 				}
 			} else if (words.size() == 1) {
 				query = new FuzzyQuery(new Term(f, (String)words.elementAt(0)));

Modified: cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneQueryBean.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneQueryBean.java?rev=603171&r1=603170&r2=603171&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneQueryBean.java (original)
+++ cocoon/trunk/blocks/cocoon-querybean/cocoon-querybean-impl/src/main/java/org/apache/cocoon/bean/query/SimpleLuceneQueryBean.java Tue Dec 11 00:11:42 2007
@@ -30,6 +30,7 @@
 import org.apache.lucene.document.Field;
 import org.apache.lucene.search.Hits;
 import org.apache.lucene.search.Query;
+import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.cocoon.components.search.LuceneCocoonSearcher;
 import org.apache.cocoon.ProcessingException;
@@ -184,7 +185,15 @@
 		while (it.hasNext()) {
 			SimpleLuceneCriterion criterion = (SimpleLuceneCriterion)it.next();
 			Query subquery = criterion.getQuery (searcher.getAnalyzer());
-			query.add(subquery, required, criterion.isProhibited());
+			if(!required) {
+				if(criterion.isProhibited()) {
+					query.add(subquery, BooleanClause.Occur.MUST_NOT);
+				} else {
+					query.add(subquery, BooleanClause.Occur.SHOULD);
+				}
+			} else {
+				query.add(subquery, BooleanClause.Occur.MUST);
+			}
 		}
 		Hits hits = searcher.search(query);
 		this.total = new Long (hits.length());

Modified: cocoon/trunk/blocks/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/pom.xml?rev=603171&r1=603170&r2=603171&view=diff
==============================================================================
--- cocoon/trunk/blocks/pom.xml (original)
+++ cocoon/trunk/blocks/pom.xml Tue Dec 11 00:11:42 2007
@@ -200,10 +200,8 @@
         <module>cocoon-python/cocoon-python-mocks</module>
         <module>cocoon-qdox/cocoon-qdox-impl</module>
         <module>cocoon-qdox/cocoon-qdox-sample</module>
-<!-- 
         <module>cocoon-querybean/cocoon-querybean-impl</module>
         <module>cocoon-querybean/cocoon-querybean-sample</module>
- -->
         <module>cocoon-repository/cocoon-repository-impl</module>
         <module>cocoon-scratchpad/cocoon-scratchpad-impl</module>
         <module>cocoon-scratchpad/cocoon-scratchpad-sample</module>