Hi Reda,

You probably need to modify
org/apache/lucene/queryparser/classic/QueryParser.jj and QueryParserBase
and regenerate QueryParser.java probably.

or you can tweak flexible parser
org.apache.lucene.queryparser.flexible.precedence.processors.BooleanModifiersQueryNodeProcessor
org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser

As you see mileage is huge, and turns to a challenge itself.

On Fri, Dec 2, 2016 at 10:32 AM, Reda Kouba <[email protected]> wrote:

> Hi Mikhail,
>
> Do you have any suggestion to transform a string to a query object?
> thanks,
> reda
>
>
> > On 2 Dec. 2016, at 18:26, Mikhail Khludnev <[email protected]> wrote:
> >
> > Hello,
> >
> > I don't think # is supported in query parsers, although it would be
> great.
> > So, far I saw them in only in toString().
> >
> > On Fri, Dec 2, 2016 at 9:30 AM, Bouadjenek mohamed reda <
> > [email protected]> wrote:
> >
> >> Hi All,
> >>
> >>
> >> I wanna use a filter into a query (BooleanClause.Occur.FILTER). For
> >> example, my query is:
> >>
> >> #repository:clinicaltrials +title:multipl
> >>
> >> It looks like when I build the query from this String, the filter is not
> >> working. In other words, the total hits in the first example below is
> >> different from total hits in the second example below. Please, does
> anyone
> >> know what wrong with this simple example?
> >>
> >> Example 1:
> >> String query = "#repository:clinicaltrials +title:multipl";
> >> QueryParser qr = new QueryParser("", new StandardAnalyzer());
> >> TopDocs hits = is.search(qr.parse(query), 1);
> >>
> >> Example 2:
> >> String[] fields = new String[]{"repository", "title"};
> >> BooleanClause.Occur[] allflags = new
> >> BooleanClause.Occur[]{BooleanClause.Occur.FILTER,
> >> BooleanClause.Occur.MUST};
> >> String[] query_text = new String[]{"clinicaltrials", "multipl"};
> >> Query finalQuery = MultiFieldQueryParser.parse(query_text, fields,
> >> allflags, new StandardAnalyzer());
> >> TopDocs hits = is.search(finalQuery, 1);
> >>
> >>
> >> thanks,
> >>
> >>
> >> Best,
> >> reda
> >>
> >
> >
> >
> > --
> > Sincerely yours
> > Mikhail Khludnev
>
>


-- 
Sincerely yours
Mikhail Khludnev

Reply via email to