Hi all, I am a little confused as to why the scoring is working the way it is:
I have a field defined as: <field name="myname" type="text" indexed="true" stored="true" required="false" multivalued="true" /> And I have several documents where that value is: RECORD 1 <arr name="myname"> <str>Fred</str> <str>Fred (the coolest guy in town)</str> </arr> OR RECORD 2 <arr name="myname"> <str>Fred Anderson</str> </arr> What happens when I do a search for http://localhost:8983/solr/search/?q=myname:Fred I get RECORD 2 returned before RECORD 1. RECORD 2 5.282213 = (MATCH) fieldWeight(myname:Fred in 256575), product of: 1.0 = tf(termFreq(myname:Fred)=1) 8.451541 = idf(docFreq=7306, maxDocs=12586425) 0.625 = fieldNorm(field=myname, doc=256575) RECORD 1 4.482106 = (MATCH) fieldWeight(myname:Fred in 215), product of: 1.4142135 = tf(termFreq(myname:Fred)=2) 8.451541 = idf(docFreq=7306, maxDocs=12586425) 0.375 = fieldNorm(field=myname, doc=215) So the difference is fieldNorm obviously but I think that's only part of the story. Why is RECORD 2 returned with a higher score than RECORD 1 even though RECORD 1 matches "Fred" exactly? And how should I do this differently so that I am getting the results I am expecting? Thanks, Brian Lamb