[jira] [Commented] (SOLR-10499) Optimize SpatialHeatmapFacets DocSet to Bits conversion

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (SOLR-10499) Optimize SpatialHeatmapFacets DocSet to Bits conversion

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/SOLR-10499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15977607#comment-15977607 ]

ASF subversion and git services commented on SOLR-10499:

Commit 991196216d2a0ba92ce8a772dd3a9a03eb29b241 in lucene-solr's branch refs/heads/master from [~dsmiley]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=9911962 ]

SOLR-10499: facet.heatmap DocSet to Bits optimizations

> Optimize SpatialHeatmapFacets DocSet to Bits conversion
> -------------------------------------------------------
>                 Key: SOLR-10499
>                 URL: https://issues.apache.org/jira/browse/SOLR-10499
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: spatial
>            Reporter: David Smiley
>            Assignee: David Smiley
>             Fix For: 6.6
>         Attachments: SOLR_10499.patch
> Using the {{facet.heatmap}} feature will internally constructs a {{Bits}} instance (to be passed down into Lucene) from the Solr-provided {{DocSet}}.  The current procedure is sometimes fine but it can be optimized:
> * if docSet is equal to {{SolrIndexSearcher.getLiveDocs}} then use a null Bits, which signals to the Lucene code that it can skip reading the postings and simply use the doc freq when there are no deleted docs either.  The difference is huge.
> * if docSet has size 0 then use {{Bits.MatchNoBits}}.  After LUCENE-7787 is committed, this is a fast do-nothing optimization that could otherwise take a lot of time.
> * if the docSet _is not_ a {{BitDocSet}} then build a {{FixedBitSet}}.  Presently the code wraps a Bits around the DocSet, likely a {{SortedIntDocSet}}, which is a huge performance hit for large shards when this happens -- log(N) over possibly thousands of doc IDs for each doc accumulation
> _(This development was funded by the Harvard Center for Geographic Analysis as part of the HHypermap project)_

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]