Hi, Thanks for your Reply.The Problem I face is there is a word called Geoffrey Romer in my Field.
I am Forming a Multiphrase query object properly like " Geoffrey Romer".But When i do a Search,it is not returning Hits.This Problem I am facing is not for all phrases This Problem happens for only few Phrases. When i do a single query like Geoffrey it is giving a Hit..But when i do it in MultiphraseQuery it is not able to find "geoffrey". I confirmed this by doing trm.seekCeil(new BytesRef("Geoffrey")) and then and then when i do String s = trm.term().utf8ToString().It is pointing to a diffrent word instead of geoffrey.seekceil is working properly for many phrases though. What could be the problem..please kindly suggest. On Fri, Sep 27, 2013 at 6:58 PM, Allison, Timothy B. <talli...@mitre.org>wrote: > 1) An alternate method to your original question would be to do something > like this (I haven't compiled or tested this!): > > Query q = new PrefixQuery(new Term("field", "app")); > > q = q.rewrite(indexReader) ; > Set<Term> terms = new HashSet<Term>(); > q.extractTerms(terms); > Term[] arr = terms.toArray(new Term[terms.size()]); > MultiPhraseQuery mpq = new MultiPhraseQuery(); > mpq.add(new Term("field", "microsoft"); > mpq.add(arr); > > > 2) At a higher level, do you need to generate your query programmatically? > Here are three parsers that could handle this: > a) ComplexPhraseQueryParser > b) SurroundQueryParser: oal.queryparser.surround.parser.QueryParser > c) experimental: <self_promotion degree="shameless"> > http://issues.apache.org/jira/browse/LUCENE-5205</self_promotion> > > > -----Original Message----- > From: VIGNESH S [mailto:vigneshkln...@gmail.com] > Sent: Friday, September 27, 2013 3:33 AM > To: java-user@lucene.apache.org > Subject: Re: Multiphrase Query in Lucene 4.3 > > Hi, > > The word i am giving is "Romer Geoffrey ".The Word is in the Field. > > trm.seekCeil(new BytesRef("Geoffrey")) and then when i do String s = > trm.term().utf8ToString(); and hence > > It is giving a diffrent word..I think this is why my multiphrasequery is > not giving desired results. > > What may be the reason.. > > > > > On Fri, Sep 27, 2013 at 11:49 AM, VIGNESH S <vigneshkln...@gmail.com> > wrote: > > > Hi Lan, > > > > Thanks for your Reply. > > > > I am doing similar to this only..In MultiPhraseQuery object actual phrase > > is going proper but it is not returning any hits.. > > > > In Lucene 3.6,I implemented the same logic and it is working. > > > > In Lucene 4.3,I implemented the Index for that using > > > > FieldType offsetsType = new FieldType(TextField.TYPE_STORED); > > > > > > offsetsType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS); > > > > For MultiphraseQuery, whether I need to add any other parameter in > > addition to this while indexing? > > > > Is there any MultiPhraseQueryTest java file for Lucene 4.3? I checked in > > Lucene branch and i was not able to find..Please kindly help. > > > > > > > > > > > > > > On Thu, Sep 26, 2013 at 2:55 PM, Ian Lea <ian....@gmail.com> wrote: > > > >> I use the code below to do something like this. Not exactly what you > >> want but should be easy to adapt. > >> > >> > >> public List<String> findTerms(IndexReader _reader, > >> String _field) throws IOException { > >> List<String> l = new ArrayList<String>(); > >> Fields ff = MultiFields.getFields(_reader); > >> Terms trms = ff.terms(_field); > >> TermsEnum te = trms.iterator(null); > >> BytesRef br; > >> while ((br = te.next()) != null) { > >> l.add(br.utf8ToString()); > >> } > >> return l; > >> } > >> > >> -- > >> Ian. > >> > >> On Wed, Sep 25, 2013 at 3:04 PM, VIGNESH S <vigneshkln...@gmail.com> > >> wrote: > >> > Hi, > >> > > >> > In the Example of Multiphrase Query it is mentioned > >> > > >> > "To use this class, to search for the phrase "Microsoft app*" first > use > >> > add(Term) on the term "Microsoft", then find all terms that have "app" > >> as > >> > prefix using IndexReader.terms(Term), and use > >> MultiPhraseQuery.add(Term[] > >> > terms) to add them to the query" > >> > > >> > > >> > How can i replicate the Same in Lucene 4.3 since > >> IndexReader.terms(Term) is > >> > no more used > >> > > >> > -- > >> > Thanks and Regards > >> > Vignesh Srinivasan > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > >> For additional commands, e-mail: java-user-h...@lucene.apache.org > >> > >> > > > > > > -- > > Thanks and Regards > > Vignesh Srinivasan > > 9739135640 > > > > > > -- > Thanks and Regards > Vignesh Srinivasan > 9739135640 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > -- Thanks and Regards Vignesh Srinivasan 9739135640