lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sheng <sheng...@gmail.com>
Subject Re: ConjunctionScorer access
Date Thu, 22 Oct 2015 12:43:54 GMT
Thanks for the reply and suggestion. If I search for term A and term B with
a BooleanQuery in Lucene, normally Lucene returns documents that have a
match of both A and B. Now I am using payload to vary the scores w.r.t
search of term A and search of term B, so it is possible for example a
document has both match of term A and term B, but only the score for term A
is 0. In this case, I want Lucene does not return this document  at all.
However the internal ConjunctionScorer will just sum up the scores returned
by both subquery of A and B, thus the document has a score > 0 returned by
the BooleanQuery, and therefore it cannot be filtered by a
PositiveScoreOnlyCollector. I know hacking into ConjunctionScorer probably
is too intrusive, but wondering if there is a better way to achieve the
same effect ?

On Thu, Oct 22, 2015 at 4:13 AM, Uwe Schindler <uwe@thetaphi.de> wrote:

> Hi,
>
> Those are internal classes and not to be extended (not only the
> constructor is pkg-private, the whole class is: https://goo.gl/5WyLYz)!
> Scorers follow the delegator pattern. If you want to modify the behaviour
> of a Scorer, create a delegator scorer (e.g. some Filtering Scorer) and
> change its behaviour (e.g. filter additional documents,...). This can be
> done by a query that filters other querys. E.g. look at ConstantScoreQuery
> or similar queries that wrap other scorers.
>
> Subclassing ConjunctionScorer would bring you nothing because internals
> are still private - and that's good.
>
> Uwe
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: uwe@thetaphi.de
>
>
> > -----Original Message-----
> > From: Sheng [mailto:shengcer@gmail.com]
> > Sent: Wednesday, October 21, 2015 7:03 PM
> > To: java-user@lucene.apache.org
> > Subject: ConjunctionScorer access
> >
> > It's a bummer Lucene makes the constructor of ConjunctionScorer non-
> > public. I wanted to extend from this class in order to tweak its
> behavior for
> > my use case. Is it possible to change it to protected in future releases
> ?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message