lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Rochkind <rochk...@jhu.edu>
Subject Re: Specifying optional terms with standard (lucene) request handler?
Date Tue, 25 Jan 2011 22:15:28 GMT
With the 'lucene' query parser?

include &q.op=OR and then put a "+" ("mandatory") in front of every term 
in the 'q' that is NOT optional, the rest will be optional.  I think 
that will do what want.

Jonathan

On 1/25/2011 5:07 PM, Daniel Pötzinger wrote:
> Hi
>
> I am searching for a way to specify optional terms in a query ( that dont need to match
(But if they match should influence the scoring) )
>
> Using the dismax parser a query like this:
> <str name="mm">2</str>
> <str name="debugQuery">on</str>
> <str name="q">+lorem ipsum dolor amet</str>
> <str name="qf">content</str>
> <str name="hl.fl"/>
> <str name="qt">dismax</str>
> Will be parsed into something like this:
> <str name="parsedquery_toString">
> +((+(content:lor) (content:ipsum) (content:dolor) (content:amet))~2) ()
> </str>
> Which will result that only 2 of the 3 optional terms need to match?
>
>
> How can optional terms be specified using the standard request handler?
> My concrete requirement is that a certain term should match but another is optional.
But if the optional part matches - it should give the document an extra score.
> Something like :-)
> <str name="q">content:lorem #optional#content:optionalboostword^10</str>
>
> An idea would be to use a function query to boost the document:
> <str name="q">
> content:lorem _val_:"query({!lucene v='optionalword^20'})"
> </str>
> Which will result in:
> <str name="parsedquery_toString">
> +content:forum +query(content:optionalword^20.0,def=0.0)
> </str>
> Is this a good way or are there other suggestions?
>
> Thanks for any opinion and tips on this
>
> Daniel
>
>

Mime
View raw message