Right. Essentially, the precedence is given to AND, so this is parsed
as though it were python OR (ruby AND programming) OR "programming language"

Best
Erick

On Mon, Jan 23, 2012 at 10:55 AM, Michael Jakl <jakl.mich...@gmail.com> wrote:
> Hi!
>
> On Mon, Jan 23, 2012 at 18:42, Erick Erickson <erickerick...@gmail.com> wrote:
>> Count your parentheses (anyone here speak Lisp?) I think that +
>> is outside the entire clause, meaning it's saying that there is
>> a single mandatory clause, and it's the whole thing....
>
> You're right in that case it's the whole query. Pardon me, I chose a
> bad example. Using your input concerning the boost values, here
> another (cleaner) example (edited for readability):
>
>
> <str name="querystring">
> "java"
>  OR "haskell"
>  OR "python"
>  OR "ruby"
>  AND "programming"
>  OR "programming language"
>  OR "code coding"
>  OR -"mobile"
>  OR -"android"
>  OR -"microsoft"
>  OR -"windows"
> </str>
> <str name="parsedquery">
> +(
>  DisjunctionMaxQuery((stemmedText:java))
>  DisjunctionMaxQuery((stemmedText:haskell))
>  DisjunctionMaxQuery((stemmedText:python))
>  +DisjunctionMaxQuery((stemmedText:ruby))
>  +DisjunctionMaxQuery((stemmedText:program))
>  DisjunctionMaxQuery((stemmedText:"program language"))
>  DisjunctionMaxQuery((stemmedText:"code code"))
>  -DisjunctionMaxQuery((stemmedText:mobile))
>  -DisjunctionMaxQuery((stemmedText:android))
>  -DisjunctionMaxQuery((stemmedText:microsoft))
>  -DisjunctionMaxQuery((stemmedText:window))
> )
> </str>
>
> I've tried this using the three mentioned query parsers, all promote
> "ruby" and "program" to be mandatory. I was hoping for a
> "dontBeTooSmart=true" switch or something.
>
>> But boosting by 0.0 is probably a really bad thing. This may be
>> dropping all the scores to 0, which means "no match". The
>> default boost is 1.0 since it's multiplied to influence the score,
>> not added. So I'd try either not boosting or making
>> it something other than 0.
>
> Thank you very much for spotting this. The FAQ[1] is a bit confusing
> on that matter, if a boost of 0.0001 is still a boost, so 0.0 must be
> no boost at all, at least that was my logic.
>
> Cheers,
> Michael
>
>  1: 
> http://wiki.apache.org/solr/SolrRelevancyFAQ#How_do_I_give_a_negative_.28or_very_low.29_boost_to_documents_that_match_a_query.3F

Reply via email to