lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gus Kormeier <g...@altrec.com>
Subject MultiFieldQueryParser.setOperator()
Date Mon, 09 Feb 2004 19:07:33 GMT
Sorry if this is a newbie question,

I want to change the default search to use AND instead of OR when combining
words.  The default Lucene does a great job at finding documents, but I
would like to return 30 instead of 3,000 hits when someone types multiple
words.
For instance here:
http://www.greatoutdoors.com/go/search.jsp?query=north+face+jacket

I am using:

String [] fields = {"name","brand","description","teaser" };
Analyzer analyzer = new StandardAnalyzer();
Query query = MultiFieldQueryParser.parse(line, fields, analyzer);


I was going to try something like this:
       MultiFieldQueryParser mfqp = new MultiFieldQueryParser(line /* what
is this string to the constructor? */ ,analyzer);
       mfqp.setOperator(mfqp.DEFAULT_OPERATOR_AND);
       Query query = MultiFieldQueryParser.parse(line, fields, analyzer);


But parse(String line,String [] fields,Analyzer a) is static, so
setOperator() has no effect on it.

I was expecting to see a constructor where I could set the String[] for
which fields to search, but it isn't there(API 1.3).  Otherwise the
MultiFieldQueryParser works great for my purposes.

Am I reading the API wrong?  Is there a way to search Multi fields and
setOperator()?

One solution I can see, would it be better to Index all of the fields into
one blob of a field as well, and just search off of that?


Thanks in Advance,
-Gus

P.S. Have been very impressed with the speed and flexibility of Lucene so
far.  


Gus Kormeier - tech | gusk@altrec.com <<mailto:gusk@altrec.com>> |
425.605.4008




---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org


Mime
View raw message