lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mek <meki...@gmail.com>
Subject Very high fieldNorm for a field resulting in bad results
Date Mon, 25 Sep 2006 10:27:52 GMT
Hi,

I was getting very bad results for some queries & after a little research &
a lot of searching on the mailing list, I have the following information.
Could someone please help me figure out whats wrong.

Exact phrase matches in fields with higher boost were ranking lower than
some non exact matches in 1 other field.
(I change th userQuery => "userQuery"^4 userQuery  .. any other ideas for
ranking exact matches higher ?)

The symptom:
Very high fieldNorm for field A.(explain output pasted below) The boost i am
applying to the troublesome field is 3.5  & the max boost applied per doc is
1.8
Given that information, the very high fieldNorm is very surprising to me.
Based on what I read,  FieldNorm  = 1 / sqrt(sum of terms) , possibly
multiplied by field boost values.

My suspicions:

There may be something wrong with the way I add this field:

fieldName = "A';
fieldConfig = getConfig(fieldName);

for (Collection of values){
     Field thisField = new Field(fieldName, value, fieldConfig.STORED,
fieldConfig.INDEXED);
     thisField.setBoost(fieldConfig);
    doc.add(thisField);
}

which should basically lead to the "values" being appended,
Am i making a mistake in the way I am adding fields ?

The results which are showing up on top (having very high fieldnorm) have a
lot of "values".

Thanks a ton for any guidance you can provide.
-mek


Explain output:

     [java] 931523.7 = product of:
     [java]   6520665.5 = product of:
     [java]     1.9561996E7 = weight(A:william in 2994602), product of:
     [java]       4.5579695E-4 = queryWeight(A:william), product of:
     [java]         5.7101016 = idf(docFreq=62092)
     [java]         7.9822916E-5 = queryNorm
     [java]       4.2918224E10 = fieldWeight(A:william in 2994602), product
of:
     [java]         1.0 = tf(termFreq(A:william)=1)
     [java]         5.7101016 = idf(docFreq=62092)
     [java]         7.5161928E9 = fieldNorm(field=A, doc=2994602)
     [java]     0.33333334 = coord(1/3)
     [java]   0.14285715 = coord(1/7)

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message