General flow of a faceted search query
When processing a faceted search query, the Public Content API performs a number of actions before, during and after running the query, based on how the query is specified.
A search query works as follows:
- Preprocessing
-
GraphQL performs the following preprocessing on the
udp-conceptOpenSearch concept index:- If you supply
schemeTitlebut noconnectorIdin the input concept, Content Delivery tries to resolve the connector ID based on theschemeTitleandlanguagevalues provided. - If you supply
connectorIdandschemeTitle, GraphQL throws an error. - If you supply
connectorIdandlanguage, but notconceptLabels, then GraphQL ignores the value of thelanguagesetting. If you provide all three, GraphQL uses the language specified.
- If you supply
- Processing
-
GraphQL always executes a query to the OpenSearch search index,
udp-indexand will match all if there are no criteria. Then for the result set, API calculates the aggregations for each defined facet filter. At this point, GraphQL only interacts withudp-index. - Postprocessing
-
GraphQL queries the
udp-conceptindex to fillConceptFacetdetails, and concepts in the search result.