: From what I can see, the problem there is not with the field norm, but with : the fact that "leadership" is not matching the second document for some : reason. Is it possible that you are having some kind of analysis problem?
Agreed ... if those are your full score explanations for those two documents then something is not right with how the second document is matcihng your query. what exactly does your request look like? what exactly does the requestHandler configuration look like? what is the final parsed query according to the debug information? what does the fieldtype for "name_en" look like? what does analysis.jsp say about how those name_en field values are analized at index time? how is the word "leadership" analyzed at query time? In general, if you want to disable norms you can set "omitNorm" on the field -- or you can customize the similariy to change the lengthNorm function. : > Search terms: coaching leadership : > Record 1: name="Ask the Coach", desc="...",... : > Record 2: name="Coaching as a Leadership Development Tool Part 1", : > desc="...",... : > : > Record 1 was scored higher than record 2, despite record 2 has two matches. : > The scoring is given below: : > : > Record 1: : > 1.2878088 = (MATCH) weight(name_en:coach in 6430), product of: : > 0.20103075 = queryWeight(name_en:coach), product of: : > 6.406029 = idf(docFreq=160, maxDocs=35862) : > 0.03138149 = queryNorm : > 6.406029 = (MATCH) fieldWeight(name_en:coach in 6430), product of: : > 1.0 = tf(termFreq(name_en:coach)=1) : > 6.406029 = idf(docFreq=160, maxDocs=35862) : > 1.0 = fieldNorm(field=name_en, doc=6430) : > : > Record 2: : > 0.56341636 = (MATCH) weight(name_en:coach in 4744), product of: : > 0.20103075 = queryWeight(name_en:coach), product of: : > 6.406029 = idf(docFreq=160, maxDocs=35862) : > 0.03138149 = queryNorm : > 2.8026378 = (MATCH) fieldWeight(name_en:coach in 4744), product of: : > 1.0 = tf(termFreq(crs_name_en:coach)=1) : > 6.406029 = idf(docFreq=160, maxDocs=35862) : > 0.4375 = fieldNorm(field=name_en, doc=4744) -Hoss