I want to change slightly the similarity function, in the following way:

Use same cosine similarity as defined by DefaultSimilarity, but multiply the result score by f, where f is defined as following
f = (# of terms in query that appear also in document) / (# of terms in document)

(this boosts documents that contain RELATIVELY more query terms)

What's the best way to do it, and how?