Vignesh
Vignesh

Reputation: 1046

SOLR - group by field and then get distinct value by another field

I'm using apache solr for searching records. In my case I'm having table which has columns category and sub-category, etc.

I want to group by category and then get the distinct list of sub-category from grouped results. Is that possible in apache solr?

If yes, please do help me to solve this. Thanks in advance.

Upvotes: 0

Views: 312

Answers (1)

MatsLindh
MatsLindh

Reputation: 52802

You can do that with a pivot facet:

facet=on&facet.pivot=category,subcategory

This will give you a facet with all the sub categories for each category.

You can also use the Facet JSON API. Example adopted from that page:

top_categories:{
  type: terms,
  field: category,
  limit: 5,
  facet:{
    top_subcategories:{
      type: terms, 
      field: subcategory,
      limit: 20
    }
  }
}

Upvotes: 1

Related Questions