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

Pluggable Analytics

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Incomplete
    • 6.0
    • 6.0
    • search
    • None

    Description

      This ticket provides a pluggable aggregation framework through the introduction of a new Aggregator interface and a new search component called the AggregatorComponent.

      The Aggregator interface extends the PostFilter interface providing methods that allow DelegatingCollectors to perform aggregation at collect time. Aggregators were designed to play nicely with the CollapsingQParserPlugin introduced in SOLR-5027.

      The AggregatorComponent manages the output and distributed merging of aggregate results.

      This ticket is an alternate design to SOLR-4465 which had the same basic idea but a very different implementation. This implementation resolves the caching issues in SOLR-4465 and combined with SOLR-5027 plays nicely with field collapsing. It is also much less intrusive on the core code as it's entirely implemented with plugins.

      Initial Syntax for the sample SumQParserPlugin Aggregator:

      ../select?q=*:*&wt=xml&indent=true&fq={!sum field=popularity id=mysum}&aggregate=true

      fq={!sum field=popularity id=mysum} - Calls the SumQParserPlugin telling it to sum the field popularity.

      aggregate=true - turns on the AggregatorComponent

      The output contains a block that looks like this:

      <lst name="aggregates">
        <lst name="mysum">
          <long name="sum">85</long>
        </lst>
      </lst>
      

      Attachments

        1. SOLR-5045.patch
          10 kB
          Joel Bernstein
        2. SOLR-5045.patch
          17 kB
          Joel Bernstein

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jbernste Joel Bernstein
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: