ku3ia wrote
> Hi folks!
> I have a multiphrase query, for example, from units:
>
> Directory indexStore = newDirectory();
> RandomIndexWriter writer = new RandomIndexWriter(random(), indexStore);
> add("blueberry chocolate pie", writer);
> add("blueberry chocolate tart", writer);
> IndexReader r = writer.getReader();
> writer.close();
>
> IndexSearcher searcher = newSearcher(r);
> MultiPhraseQuery q = new MultiPhraseQuery();
> q.add(new Term("body", "blueberry"));
> q.add(new Term("body", "chocolate"));
> q.add(new Term[] {new Term("body", "pie"), new Term("body", "tart")});
> assertEquals(2, searcher.search(q, 1).totalHits);
> r.close();
> indexStore.close();
>
> I need to know on which phrase query will be match. Explanation doesn't
> return exact information, only that is match by this query. So can I
> rewrite this query to Boolean?, like
>
> BooleanQuery q = new BooleanQuery();
>
> PhraseQuery pq1 = new PhraseQuery();
> pq1.add(new Term("body", "blueberry"));
> pq1.add(new Term("body", "chocolate"));
> pq1.add(new Term("body", "pie"));
> q.add(pq1, BooleanClause.Occur.SHOULD);
>
> PhraseQuery pq2 = new PhraseQuery();
> pq2.add(new Term("body", "blueberry"));
> pq2.add(new Term("body", "chocolate"));
> pq2.add(new Term("body", "tart"));
> q.add(pq2, BooleanClause.Occur.SHOULD);
>
> In this case I'll exact know on which query I have a match. But main
> querstion is, Is this rewrite is equal/true?
> Thanks.
>
> --
> dennis yermakov
> mailto:
> demesg@
Any ideas?
--
View this message in context:
http://lucene.472066.n3.nabble.com/MultiPhraseQuery-Rewrite-to-BooleanQuery-tp4178898p4180863.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]