: I have a one term query: "ocr:aardvark" When I look at the explain : output, for some matches the queryNorm and fieldWeight are shown and for : some matches only the "weight" is shown with no query norm. (See below)
It looks like this is from a distributed query, correct? Explanation's generally exlude things that don't wind up impacting the query -- so for example, no "query boost" section exists when he boost is "1.0" and doesn't affect the multiplication. In your specific case i suspect the "queryWeight" section (which includes the queryNorm) is being excluded for some documents if/when it's value is "1.0" The reason the queryWeight is probably 1.0 for some documents, but clearly not all, goes back to my question about this being a distributed query -- note the difference in maxDoc and docFreq numbers used in computing the idf for the same term in two differnet documents... 0.4395488 = (MATCH) fieldWeight(ocr:aardvark in 504374), product of: ... 7.4521165 = idf(docFreq=1328, maxDocs=842643) 0.43645293 = (MATCH) weight(ocr:aardvark in 380212), product of: ... 7.3996296 = idf(docFreq=1550, maxDocs=933116) ...so in one shard the queryWeight winds up being "1.0" and gets left out of the explanation for conciseness, but in another shard the queryWeight winds up being "0.99999994" and is included in the explanation. -Hoss