cpoerschke commented on PR #2248: URL: https://github.com/apache/solr/pull/2248#issuecomment-2042815244
> ... Couldn't we build segment level FixedBitSets (no safety issue) and then at the end combine into a master FixedBitSet so that we have our DocSet? It could even be made to be long-aligned, and thus the final aggregation is just copying longs with System.arraycopy (no doc iteration! or long shifting). The boundary long would be XOR. Please could you share in more detail what you had in mind here? E.g. * Did `FixedBitSet` refer literally to the https://github.com/apache/lucene/blob/releases/lucene/9.10.0/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java class or was it meant conceptually i.e. an existing or new class similar to but different from `FixedBitSet`? * Is there existing similar code that does the long-aligning and final aggregation like that elsewhere? With the current implementation https://github.com/apache/solr/blob/bec277ab17293aee8fe44ab65264ddb0f6b697d5/solr/core/src/java/org/apache/solr/search/MultiThreadedSearcher.java#L194-L204 I can see * that the `maxDoc` is excessive not least because `this.docBase` is added for every document in the segment, and * that conceptually aggregation can be done via copying, * but beyond that I haven't yet connected the ideas shared above. Thanks! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org