"(*:* -regularprice:*)5" should be "(*:* -regularprice:*)^0.5" - the missing boost operator.

-- Jack Krupansky

-----Original Message----- From: Donald Organ
Sent: Monday, May 14, 2012 3:31 PM
To: solr-user@lucene.apache.org
Subject: Re: Boosting on field empty or not

Still doesnt appear to be working.  Here is the full Query string:


defType=edismax&start=0&rows=24&facet=true&qf=nameSuggest^10 name^10
codeTXT^2 description^1 brand_search^0
cat_search^10&spellcheck=true&spellcheck.collate=true&spellcheck.q=chairs&facet.mincount=1&fl=code,score&q=chairs
AND (regularprice:*^5 OR (*:* -regularprice:*)5)


On Mon, May 14, 2012 at 3:28 PM, Jack Krupansky <j...@basetechnology.com>wrote:

Sorry, make that:

&q=chairs AND (regularprice:*^5 OR (*:* -regularprice:*)^0.5)

I forgot that pure negative queries are broken again, so you need the *:*
in there.

I noticed that you second boost operator was missing as well.

-- Jack Krupansky

-----Original Message----- From: Donald Organ
Sent: Monday, May 14, 2012 3:24 PM
To: solr-user@lucene.apache.org
Subject: Re: Boosting on field empty or not

OK i just tried:

&q=chairs AND (regularprice:*^5 OR (-regularprice:*)5)


And that gives me 0 results


On Mon, May 14, 2012 at 2:51 PM, Jack Krupansky <j...@basetechnology.com>*
*wrote:

 foo AND (field:*^2.0 OR (-field:*)^0.5)

So, if a doc has anything in the field, it gets boosted, and if the doc
does not have anything in the field, de-boost it. Choose the boost factors
to suit your desired boosting effect.

-- Jack Krupansky

-----Original Message----- From: Donald Organ
Sent: Monday, May 14, 2012 2:38 PM
To: solr-user@lucene.apache.org
Subject: Re: Boosting on field empty or not

OK maybe i need to describe this a little more.

Basically I want documents that have a given field populated to have a
higher score than the documents that dont.  So if you search for foo I
want
documents that contain foo, but i want the documents that have field a
populated to have a higher score...

Is there a way to do this?



On Mon, May 14, 2012 at 2:22 PM, Jack Krupansky <j...@basetechnology.com
>*
*wrote:

In a query or filter query you can write +field:* to require that a field

be populated or +(-field:*) to require that it not be populated

-- Jack Krupansky

-----Original Message----- From: Donald Organ
Sent: Monday, May 14, 2012 2:10 PM
To: solr-user
Subject: Boosting on field empty or not

Is there a way to boost a document based on whether the field is empty or
not.  I am looking to boost documents that have a specific field
populated.






Reply via email to