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

Use indirection for hash-based faceting

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Facet Module
    • 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

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

              Dates

                Created:
                Updated: