I'm not sure you can. very short fields aren't differentiated on the basis
of field length due to rounding errors. Here's a cut-n-paste from Jay Hill:

********************************
So the values are not pre-set for the lengthNorm, but for some counts the
fieldLength value winds up being the same because of the precision los. Here
is a list of lengthNorm values for 1 to 10 term fields:

# of terms    lengthNorm
  1          1.0
  2         .625
  3         .5
  4         .5
  5         .4375
  6         .375
  7         .375
  8         .3125
  9         .3125
 10         .3125
****************

I'd ask, though, if this behavior is "good enough", are your users well
served by spending time on this case?

Best
Erick

On Tue, May 3, 2011 at 7:48 AM, roySolr <royrutten1...@gmail.com> wrote:
> Hello,
>
> I have a question about scoring when i use the dismax handler. I will give
> some examples:
>
>    name                                  category                  related
> category
> 1. Chelsea best club ever                Chelsea                    Sport
> 2. Chelsea                                    Chelsea
> Sport
>
> When i search for "Chelsea" i want a higher score for number 2. I think it
> is a better match on fieldlength.
> I use the dismax and both records has the same score. I see some difference
> in fieldNorm both still the score is the same. How can i fix this?
>
>
> my config:
>
> <requestHandler name="dismax" class="solr.SearchHandler" default="true">
>    <lst name="defaults">
>     <str name="defType">dismax</str>
>     <str name="qf">
>       name category related_category
>     </str>
>    </lst>
>    <str name="tie">1.0</str>
> </requestHandler>
>
> SCORE 1:
> 0.75269306 = (MATCH) sum of:
>  0.75269306 = (MATCH) max of:
>    0.75269306 = (MATCH) weight(category:chelsea in 680), product of:
>      0.3085193 = queryWeight(category:chelsea), product of:
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        0.12645814 = queryNorm
>      2.4396951 = (MATCH) fieldWeight(category:chelsea in 680), product of:
>        1.0 = tf(termFreq(category:chelsea)=1)
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        1.0 = fieldNorm(field=category, doc=680)
>    0.37634653 = (MATCH) weight(name:chelsea in 680), product of:
>      0.3085193 = queryWeight(name:chelsea), product of:
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        0.12645814 = queryNorm
>      1.2198476 = (MATCH) fieldWeight(name:chelsea in 680), product of:
>        1.0 = tf(termFreq(name:chelsea)=1)
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        0.5 = fieldNorm(field=name, doc=680)
>
>
> SCORE 2:
> 0.75269306 = (MATCH) sum of:
>  0.75269306 = (MATCH) max of:
>    0.75269306 = (MATCH) weight(category:chelsea in 678), product of:
>      0.3085193 = queryWeight(category:chelsea), product of:
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        0.12645814 = queryNorm
>      2.4396951 = (MATCH) fieldWeight(category:chelsea in 678), product of:
>        1.0 = tf(termFreq(category:chelsea)=1)
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        1.0 = fieldNorm(field=category, doc=678)
>    0.75269306 = (MATCH) weight(name:chelsea in 678), product of:
>      0.3085193 = queryWeight(name:chelsea), product of:
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        0.12645814 = queryNorm
>      2.4396951 = (MATCH) fieldWeight(name:chelsea in 678), product of:
>        1.0 = tf(termFreq(name:chelsea)=1)
>        2.4396951 = idf(docFreq=236, maxDocs=1000)
>        1.0 = fieldNorm(field=name, doc=678)
>
>
>
>
>
> --
> View this message in context: 
> http://lucene.472066.n3.nabble.com/Dismax-scoring-multiple-fields-TIE-tp2893923p2893923.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>

Reply via email to