1. Matt Chaput
  2. whoosh
  3. Issues
Issue #5 new

Write tutorial on using Weighting.final()

Matt Chaput
repo owner created an issue

When you finally get around to writing tutorials, include one about using the Weighting.final() method to influence document scores based on a document popularity factor stored somewhere else.



class MyWeighting(scoring.BM25F): def final(searcher, docnum, score): # Let's say your model associates a document ID with the hit count # for each document, and the document ID is in the "id" stored field.

# First, get the contents of the "id" field for this document docid = searcher.stored_fields(docnum)["id"]

# Look up the document's hit count in my model maxhits = mymodel.max_hits() hitcount = mymodel.get_hits(docid)

# Multiply the computed score for this document by the popularity return score * (hitcount / maxhits) }}}