Can you try to do:
QueryParser qp = new MultiFieldQueryParser(params);
qp.setDefaultOperator(Operator.AND);
qp.parse(query);

See if that helps -- the static parse method instantiates its own QP and
therefore you cannot tell it that the default OP is AND.

Shai

On Tue, Nov 30, 2010 at 1:42 PM, maven apache <apachemav...@gmail.com>wrote:

> Hi: I have two documents:
>
> title                       body
> Lucene In Action            A high-performance, full-featured text search
> engine library.
> Lucene Practice             Use lucene in your application
>
> Now,I search "lucene performance" using
>
> private String[] f = { "title", "body"};
> private Occur[] should = { Occur.SHOULD, Occur.SHOULD};
> Query q = MultiFieldQueryParser.parse(Version.LUCENE_29, "lucene
> performance", f, should,new IKAnalyzer());
>
> Then I get two hits: "Lucene In Action" and "Lucene Practice".
>
> However I do not want the "Lucene practice" in the search result.
>
> That's to say,I just want the documents who own all my search terms can be
> returned,the "lucene parctice" does not contain the term "performance",so
> it
> should not be returned.
>
> Any ideas?
>
> BTW,I do really cautioned when asking a new question in the list,but I
> really have no idea after read the documents and googling,hoping not
> disturb
> you guys.
>

Reply via email to