Skip to content

Handling facet counts when there are disjunctive filters within a filter, across a set of conjunctive faceted filters.  #1580

@mvattuone

Description

@mvattuone

I noticed this quote in an issue from a few years back

When you use the helper and have a disjunctive refinement, it sends that second query to get the correct facet counts. If you look at the results of the first facet, you'll see that they are conjunctive (only the facets remaining in that result set), and not disjunctive as requested. That's what the second query is for.

Originally posted by @Haroenv in #1404

My understanding was that handling disjunctive facet counts is only managed via InstantSearch according to Algolia's documentation https://support.algolia.com/hc/en-us/articles/11923043923217-How-can-I-configure-my-facet-attribute-as-conjunctive-AND-disjunctive-OR

We are not using InstantSearch, and I am trying to figure out how Algolia handles disjunctive facet counts so that I can replicate it in my application. I've gotten close with my own second request that I've added, where I effectively exclude the last applied filter, but I'm finding edge cases (particular initially accessing a page with filters applied (e.g. query params), and feel like if it's a solved problem on your end, it would be great to utilize your solution without having to use InstantSearch components.

Could you help me understand how that second request is made using your client? Or show me where in InstantSearch it is handled? Happy to share more details if that would help contextualize my issue.

Just to clarify, this is a set of search filters, all conjunctive, but options within each search filter are disjunctive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions