Yonik Seeley wrote:
On Mon, Oct 12, 2009 at 12:03 PM, Andrzej Bialecki <a...@getopt.org> wrote:
Solr never discarded non-positive hits, and now Lucene 2.9 no longer
does either.
Hmm ... The code that I pasted in my previous email uses
Searcher.search(Query, int), which in turn uses search(Query, Filter, int),
and it doesn't return any results if only the first clause is present (the
one with negative boost) even though it's a matching clause.
I think this is related to the fact that in TopScoreDocCollector:48 the
pqTop.score is initialized to 0, and then all results that have lower score
that this are discarded. Perhaps this should be initialized to
Float.MIN_VALUE?
Hmmm, You're actually seeing this with Lucene 2.9?
The HitQueue (subclass of PriorityQueue) is pre-populated with
sentinel objects with scores of -Inf, not zero.
Uhh, sorry, you are right - an early 2.9-dev version of the jar sneaked
in on my classpath .. I verified now that 2.9.0 returns both positive
and negative scores with the default TopScoreDocCollector.
--
Best regards,
Andrzej Bialecki <><
___. ___ ___ ___ _ _ __________________________________
[__ || __|__/|__||\/| Information Retrieval, Semantic Web
___|||__|| \| || | Embedded Unix, System Integration
http://www.sigram.com Contact: info at sigram dot com