How does it score?

Hi,
how do I find out what ferret actually does? My program works fine:

qp = QueryParser.new(:default_field => :title)
index.search_each(qp.parse(“Some words”))

Now it seems that this way not all terms are required, but how does
that affect the score?

I didn’t find the algorithm in the documentation, and I’m no good at
reading large C projects.