On Thu, 15 Mar 2007, Ofer Nave wrote:
I'm just now starting to play with the scoring algorithm. The first change
I want to make is to have the score ignore term frequency. I created this
test script to validate my understanding of the API, but my custom
Similarity class doesn't seem to affect the tf values in the output, and I
can't figure out why. I've looked at the docs, the scoring page on the
lucene site, and various archived posts, and I don't see anything I've done
wrong.
The print statement in tf() was to test if the overridden method is even
getting called. It's not.
class SimilaritySansTF(PyLucene.DefaultSimilarity):
def tf(freq):
print 'freak out!'
return 1
Because PyLucene wraps Lucene classes, you cannot extend them that way.
Your SimilaritySansTF class extends the wrapper, not the actual Lucene class.
There are examples in samples/LuceneInAction and in tests that show how to
implement a complete custom Similarity class. Also, I very recently added
support for Lucene's SimilarityDelegator class which makes it possible to use
a partial Similarity implementation delegating the remaining calls to another
complete implementation. To use this class, you need to build PyLucene form
svn sources, normally a non-trivial task. I should have binaries up for the
usual OS I have access to in the near future.
Andi..
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev