bq. i wish the Javadocs has examples like PhraseQuery Javadocs gave. This is where someone coming into the examples for the first time is invaluable, javadoc patches are most welcome! It can be hard to back off enough to remember what the confusing bits are when you wrote the code ;) On Tue, Sep 18, 2018 at 1:56 PM <baris.ka...@oracle.com> wrote: > > Any suggestions please? > Two main questions: > - how do synonyms get utilized by MultiPhraseQuery? > - how do we get second token "app" applied to the example on > MultiPhraseQuery javadocs page? (and how do we get Terms[] array from > Terms object?) > > Now three questions :) > > i wish the Javadocs has examples like PhraseQuery Javadocs gave. > > Best > > On 9/18/18 4:45 PM, baris.ka...@oracle.com wrote: > > Trying to implement the example on > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lucene.apache.org_core_6-5F6-5F1_core_org_apache_lucene_search_MultiPhraseQuery.html&d=DwIDaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=nlG5z5NcNdIbQAiX-BKNeyLlULCbaezrgocEvPhQkl4&m=7WmT3NC9wzVk4FPBupACoALoL4kho6V7-c2o4Kac5QM&s=gM6_4hvpLEZY1_7r-CEInZbUb-ublYDcJOQ8rmeAgVA&e= > > > > // A generalized version of PhraseQuery, with the possibility of > > adding more than one term at the same position that are treated as a > > disjunction (OR). To use this class to search for the phrase > > "Microsoft app*" first create a Builder and use > > > > // MultiPhraseQuery.Builder.add(Term) on the term "microsoft" > > (assuming lowercase analysis), then find all terms that have "app" as > > prefix using LeafReader.terms(String), seeking to "app" then iterating > > and collecting terms until there is no longer that prefix, > > > > // and finally use MultiPhraseQuery.Builder.add(Term[]) to add them. > > MultiPhraseQuery.Builder.build() returns the fully constructed (and > > immutable) MultiPhraseQuery. > > > > > > IndexSearcher is = new IndexSearcher(indexReader); > > > > MultiPhraseQuery.Builder builder = new MultiPhraseQuery.Builder(); > > builder.add(new Term("body", "one"), 0); > > > > Terms terms = LeafReader.terms("body"); // will this be slow? and how > > do we incorporate token/word "app" here? > > > > // i STILL dont see how to get individual Term objects from terms > > object and plus do i need to declare LeafReader object? > > > > Term[] termArr = new Term[k]; // i will get this filled via using > > Terms.iterator > > builder.add(termArr); > > MultiPhraseQuery mpq = builder.build(); > > TopDocs hits = is.search(mpq, 20);// 20 hits > > > > > > Best regards > > > > > > On 9/18/18 4:16 PM, baris.ka...@oracle.com wrote: > >> Hi,- > >> > >> how does MultiPhraseQuery treat synonyms? > >> > >> is the following possible? > >> > >> ... (created index with synonyms and indexReader object has the index) > >> > >> IndexSearcher is = new IndexSearcher(indexReader); > >> > >> MultiPhraseQuery.Builder builder = new MultiPhraseQuery.Builder(); > >> builder.add(new Term("body", "one"), 0); > >> builder.add(new Term("body", "two"), 1); > >> MultiPhraseQuery mpq = builder.build(); > >> TopDocs hits = is.search(mpq, 20);// 20 hits > >> > >> Best regards > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > >> For additional commands, e-mail: java-user-h...@lucene.apache.org > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org >
--------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org