Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-14006 Differences in StatsComponent and JSON facet aggregations
  3. SOLR-11709

JSON "Stats" Facets should support directly specifying a domain change (for filters/blockjoin/etc...)

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Facet Module
    • None

    Description

      AFAICT, the simple string syntax of JSON Facet Modules "statistic facets" (ex: foo:"min(fieldA)" ) means there is no way to request a statistic with a domain change applied – stats are always computed relative to it's immediate parent (ie: the baseset matching the q for a top level stat, or the constrained set if a stat is a subfacet of something else)

      This means that things like the simple "fq exclusion" in StatsComponent have no straight forward equivalent in JSON faceting.

      The work around appears to be to use a type:"query", q:"*:*, domain:... parent and specify the stats you are interested in as sub-facets...

      $ curl 'http://localhost:8983/solr/techproducts/query' -d 'q=*:*&omitHeader=true&fq={!tag=boo}id:hoss&stats=true&stats.field={!max=true ex=boo}popularity&rows=0&json.facet={
      bar: { type:"query", q:"*:*", domain:{excludeTags:boo}, facet: { foo:"max(popularity)" } } }'
      {
        "response":{"numFound":0,"start":0,"docs":[]
        },
        "facets":{
          "count":0,
          "bar":{
            "count":32,
            "foo":10}},
        "stats":{
          "stats_fields":{
            "popularity":{
              "max":10.0}}}}
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              hossman Chris M. Hostetter
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: