Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-11806

Use indirection for hash-based faceting

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Facet Module
    • Labels:
      None

      Description

      Currently when hashing is used during faceting (FacetFieldProcessorByHashDV), all SlotAcc instances act as hash tables. They are directly accessed by hash, and when the hash table needs to be resized, all SlotAcc instances are rehashed. This is good when a single statistic is being used, but wasteful when multiple statistics are being calculated per bucket.

      An alternative would be for the hash table to hash to a persistent slot (starting at 0 and incremented for each new bucket encountered). All of the SlotAcc instances would then be dense and be indexed by the persistent slot. This would also allow more efficient implementations of some metrics using hashes themselves (made easier since slots no longer change and can thus be part of a hash).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                yseeley@gmail.com Yonik Seeley
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: