project-lux / lux-marklogic

Code, issues, and resources related to LUX MarkLogic
Other
3 stars 2 forks source link

Enable user to facet by component terms of a concept (from 814) #27

Closed gigamorph closed 2 weeks ago

gigamorph commented 4 months ago

Problem Description Users cannot filter results by concepts on concept tabs.

Ex: In the following search: https://lux-front-tst.collections.yale.edu/view/results/concepts?q=%7B%22AND%22%3A%5B%7B%22name%22%3A%22banjo%22%7D%5D%7D one of the results has the following title: Banjo--Methods--Self-instruction

Expected Behavior/Solution: Users should be able to filter results by concepts with the component term methods and/or with the component term self-instruction on Concepts tab.

Marklogic will provide a facet for Concept Influenced By

Requirements: Once ML is complete, New facet 'Component Terms' will appear under Concept tab and list check box options of Component Terms. (See FE ticket)

Needed for Promotion:

UAT/Lux Examples: https://lux-front-tst.collections.yale.edu/view/results/concepts?q=%7B%22AND%22%3A%5B%7B%22name%22%3A%22banjo%22%7D%5D%7D

Dependencies/Blocks:

Related Github Issues

Related Links:

~Wireframe/Mockup:** ~

clarkepeterf commented 2 weeks ago

@jffcamp @prowns

There are multiple types of records that can influence a concept as a component term Agents, Concepts, Events, and Places - we already have search terms for each of these types separately:

Screenshot 2024-06-20 at 2 18 35 PM

We could use the same fields to make separate facets - or we can create a facet that combines all types - it just requires a new index.

I'm guessing we want the combined facet? Or are individual facets preferred?

jffcamp commented 2 weeks ago

Please move forward with the individual facets. If we need a combined facet, that can be a new ticket.

clarkepeterf commented 2 weeks ago

I've discovered we already have facet configuration for these individual facets:

conceptInfluencedByAgentId conceptInfluencedByConceptId conceptInfluencedByEventId conceptInfluencedByPlaceId

Ready for consumption by the frontend