Thanks Tony and Erik for the replies. The trick is we don't know the
hosts that will be returned in advance, we just don't want more than 3
from any one host. It's not unlike searching on Google where you might
see a link that says "More results from foo.com". We essentially want
to discard any results > 3 for any one host. In some of our searches
we might get high scores on 20 or 30 documents, but we don't want to
show page after page from the same host, we'd rather limit it to 3
from each for more diversity.

I may have to use a brute force approach using HitCollector as Tony
suggests. I was hoping to avoid the HitCollector, but there may be no
other way right now.

Many thanks,
-Jay


On 6/14/05, Erik Hatcher <[EMAIL PROTECTED]> wrote:
> 
> On Jun 14, 2005, at 7:23 PM, Jay Hill wrote:
> > I have a need to limit my Hits returned based on one of the indexed
> > fields. This is a web application and we want to limit the number of
> > hits from any one host. We have a field named "host_id" and I'd like
> > to be able to limit my results to no more than three results for any
> > one host_id.
> 
> I may not be fully understanding your question, but I'll go with my
> assumptions... wrap the users query into a BooleanQuery as a required
> clause and then add another clause with a TermQuery for the specific
> host_id.  Then simply constrain the number of Hits shown to the first
> 3.  Does that do what you're after?
> 
>      Erik
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to