Dynamically filtering results based on score

2010-12-06 Thread Bryan Barkley
I've seen references to score filtering in the list archives with frange
being the suggested solution, but I have a slightly different problem that I
don't think frange will solve. I basically want to drop a portion of the
results based on their score in relation to the other scores in the result
set. I've found that some queries produce poor results because they are
matching solely based on a field with a very low boost (a product
description in my case). Looking at the scores it's very obvious when the
result set transitions from good matches to just those pulled in by the
description.

I've come up with a solution on the client side of things, but need to move
this to running within solr because it doesn't play well with facets (facet
data is still returned for products that I'm stripping out). The basic
approach is to keep a running average of the highest scores, and when a
document's score is off by an order of magnitude drop it and everything else
(assuming everything is sorted by score desc). This approach seems to work
well because in some cases when users just enter 'long tail' terms I want
results to still be returned, which a static lower bound in frange won't
accommodate.

Does anyone have any suggestions for an approach to this? It doesn't look
like a filter has access to the scores. It doesn't look like I can subclass
SolrIndexSearcher as a number of its methods are private and can't be
overridden. It doesn't look like I can modify the ResponseBuilder's results
docset after the query but before faceting is applied because I don't have
access to the scorer (at least in a SearchComponent). I'm out of ideas for
now.

Thanks for any assistance,
  Bryan


Filtering results based on score

2010-11-01 Thread sivaprasad

Hi,
As part of solr results i am able to get the max score.If i want to filter
the results based on the max score, let say the max score  is 10 And i need
only the results between max score  to 50 % of max score.This max score is
going to change dynamically.How can we implement this?Do we need to
customize the solr?Please any suggestions.


Regards,
JS
-- 
View this message in context: 
http://lucene.472066.n3.nabble.com/Filtering-results-based-on-score-tp1819769p1819769.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Filtering results based on score

2010-11-01 Thread Ahmet Arslan
 As part of solr results i am able to get the max score.If i
 want to filter
 the results based on the max score, let say the max
 scoreĀ  is 10 And i need
 only the results between max scoreĀ  to 50 % of max
 score.This max score is
 going to change dynamically.How can we implement this?Do we
 need to
 customize the solr?Please any suggestions.

frange is advised in a similar discussion:
http://search-lucene.com/m/4AHNF17wIJW1/