Skip to content

Optimization opportunity #2887

@fulmicoton

Description

@fulmicoton

Follow up on Adrien Grand's comment regarding intersection

For the record I remember seeing some missed performance opportunities with taking the min last_doc_in_block across clauses, as it could result in small-ish windows, so I ended up computing the window based on the leader for conjunctive queries, and the min last_doc_in_block across essential clauses for disjunctive queries (ignoring non-essential clauses).

(Also a reason why Lucene stores max scores on 2 levels, though if I were to do it again, I'd probably look into making the 2nd level docId-aligned (e.g. every 65k docs) rather than block-aligned.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions