lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sheng <>
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 <> wrote:

> Hi,
> Those are internal classes and not to be extended (not only the
> constructor is pkg-private, the whole class is:!
> 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
> eMail:
> > -----Original Message-----
> > From: Sheng []
> > Sent: Wednesday, October 21, 2015 7:03 PM
> > To:
> > 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:
> For additional commands, e-mail:

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