: Unless i'm missing something: FuzzyQuery defaults to using the : "TopTermsScoringBooleanQueryRewrite" method based on the terms found in : the index that match the fuzzy expression. So the results of a simple : fuzzy query should already come back based on the tf/idf scores of the : terms.
to give a concrete example... using 4.4, with the example configs & sample data, this query... http://localhost:8983/solr/select?defType=edismax&qf=features&q=blak~2&fl=score,id,features&debugQuery=true ...matches two documents with differnet scores. the resulting scores are based on both the edit distance of the word that matches the fuzzy term (which durring query-rewriting is used as a term boost), and the tf/idf of those terms... A doc that contains "black" (edit distance 1 => boost * 0.75)... 0.39237294 = (MATCH) sum of: 0.39237294 = (MATCH) weight(features:black^0.75 in 26) [DefaultSimilarity], result of: 0.39237294 = score(doc=26,freq=1.0 = termFreq=1.0), product of: 0.83205026 = queryWeight, product of: 0.75 = boost 3.7725887 = idf(docFreq=1, maxDocs=32) 0.29406872 = queryNorm 0.4715736 = fieldWeight in 26, product of: 1.0 = tf(freq=1.0), with freq of: 1.0 = termFreq=1.0 3.7725887 = idf(docFreq=1, maxDocs=32) 0.125 = fieldNorm(doc=26) ...compared to a doc that contains "book" (edit distance 2 => boost * 0.5)... 0.22888422 = (MATCH) sum of: 0.22888422 = (MATCH) weight(features:book^0.5 in 5) [DefaultSimilarity], result of: 0.22888422 = score(doc=5,freq=1.0 = termFreq=1.0), product of: 0.5547002 = queryWeight, product of: 0.5 = boost 3.7725887 = idf(docFreq=1, maxDocs=32) 0.29406872 = queryNorm 0.4126269 = fieldWeight in 5, product of: 1.0 = tf(freq=1.0), with freq of: 1.0 = termFreq=1.0 3.7725887 = idf(docFreq=1, maxDocs=32) 0.109375 = fieldNorm(doc=5) -Hoss