There are many implementations because each query typically needs a custom
DocIdSetIterator implementation. It looks like your use-case doesn't need a
custom query though, you could use a TermQuery wrapped in a constant-score
query (see my reply to the other question you asked).

Le ven. 1 déc. 2017 à 08:24, Vadim Gindin <vgin...@detectum.com> a écrit :

> Hi
>
> I'm implementing the custom QUERY with appropriate custom WEIGHT and
> SCORER.
>
> I'm trying to implement Scorer.iterator() method. It should return an
> iterator of documents that matches the query. Right? There are a lot of
> descendant classes of the DocIdSetIterato.
>
> 1. How to choose correct one?
> 2. How to correctly implement Scorer.iterator() method?
>
> I've tried DocIdSetIterator.all(context.reader().maxDoc());
>
> But as I can see it returns all documents.
>
> My task looks simple. I need to return a constant score depending on the
> matched fields. I.e. field "model" score - 3f, field "vendor" - score - 5f.
>
> I'm creating a subquery for each field and specify score for it using
> custom QUERY that is almost the same as TermQuery except Weight.Scorer
>
> Any help is appreciated.
>
> Regards,
> Vadim Gindin
>

Reply via email to