CDRH / orchid

Rails Engine for site integration with CDRH API
MIT License
3 stars 0 forks source link

Discuss "deep faceting" implementation #260

Open karindalziel opened 2 years ago

karindalziel commented 2 years ago

Right now, the solution for "deep faceting" (faceting options that are not in the top 20 or whatever) is to click "more" go to another page, click the facet you want, and then click a search button at the bottom.

I worry that for longer facet lists, this will be confusing for users because the search button will be hidden, but beyond that, the UI is confusing because the facet options look like links, which would lead a user to think that clicking on one would have an immediate reaction, without the need to click a separate button.

karindalziel commented 2 years ago

Things to try, in this order:

1: seeing how well it works if we show all facets on page (perhaps configurable) - we should still set a pretty high limit (say 5000 entries or something) 2: see about doing an ajax call to get the rest of the facets if the list is too long 3: see about implementing a modal approach like Project Blacklight has https://demo.projectblacklight.org/ (click on "topic" and "more") though I don't think the pagination would be necessary, it could just be a long scrollable list

Longer term, I think we need to think about how we are using facets. If there are more than x number of facets (as a guess, 500?) there is a limit to how useful it would be to facet by the long tail of docs - that is, if there are only 3 docs per name, no further faceting should be necessary. Plus a really long list would be hard for users to scan. An alternative would be to add the ability to run a text search on certain fields.

wkdewey commented 2 years ago

For option 1, there is a setting in config.yml in the API. Tried it on Whitman and you get really long lists of facets. Elasticsearch is not limiting them.