David Smiley created SOLR-10499:
-----------------------------------

             Summary: 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


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
(v6.3.15#6346)

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

Reply via email to