On Thu, 13 Apr 2006, Alf Eaton wrote:
This is really a Java question, but it involves PyLucene knowledge so I hope
no-one minds it being posted here...
I need to use MultiFieldQueryParser, with AND as the default operator. In
Python I can do
fields = ["field_a","field_b"]
analyzer = StandardAnalyzer(stopwords)
qp = MultiFieldQueryParser(fields, analyzer)
qp.setOperator(QueryParser.DEFAULT_OPERATOR_AND)
query = qp.parseQuery(q)
hits = searcher.search(query)
Maybe besides the point but this area has changed in Lucene 2.0rc1 (and hence
in the latest PyLucene 2.0rc1-5). The code would now be written as:
fields = ["field_a","field_b"]
analyzer = StandardAnalyzer(stopwords)
qp = MultiFieldQueryParser(fields, analyzer)
qp.setDefaultOperator(QueryParser.Operator.AND)
query = qp.parse(q)
hits = searcher.search(query)
but in Java I can't work out how to phrase the code so that it works
properly. What I'm trying to do is:
String[] fields = {"field_a","field_b"}; Analyzer
analyzer = new StandardAnalyzer(stopwords);
QueryParser qp = new MultiFieldQueryParser(fields, analyzer);
qp.setOperator(QueryParser.DEFAULT_OPERATOR_AND);
Query query = qp.parse(q);
Hits hits = searcher.search(query);
The simplest way to debug this is to look at the sources for
MultiFieldQueryParser.java. The Java Lucene trunk version is here:
http://svn.apache.org/repos/asf/lucene/java/trunk/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java
If you need to look at an older release's version, PyLucene 1.9.1 was built
from http://svn.apache.org/repos/asf/lucene/java/tags/lucene_1_9_1
Andi..
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev