The Assembler
Navigation package provides a set of Search and Guided Navigation cartridges
for use with the MDEX Engine. These cartridges are included in the
endeca_assembler_navigation-<version>.jar
file.
The reference application includes templates that use these navigation cartridges to enable configuration in Experience Manager and render the resulting data in a front end application.
A navigation cartridge exposes MDEX engine features to an Assembler application. It also enables a business user to configure powerful Guided Navigation features using UI components that can be customized by an application developer to fit business needs.
The navigation cartridges include the following:
The Results List cartridge displays MDEX Engine search results for
an end user query. It is backed by a
com.endeca.infront.cartridge.ResultsList
content item
object, which extends the
com.endeca.infront.assembler.BasicContentItem
interface.
The input to the Assembler consists of a configuration model -- a
content item with MDEX Engine query information such as the end user's search
terms, selected search refinements, sorting options, and records per page.
These are passed in as a
com.endeca.infront.cartridge.ResultsListConfig
object.
The
ResultsListHandler
generates a query from the
properties on
ResultsListConfig
, then sends the query to the MDEX
Engine. It instantiates a
ResultsList
content item using the query response, and
copies over some of the properties from the configuration model (such as
records per page and sorting) directly. This view-friendly
ResultsList
object is then returned to the application
for rendering.
Cartridge configuration comes from the following sources:
Default configuration — For Spring-based Assembler implementations, this is specified in the Spring context file.
Instance configuration — Specified by the business user in the Results List cartridge in Experience Manager.
Request-based configuration — Specified by the application end user; this includes any search terms or selected dimension refinements, among other things.
This section illustrates the default cartridge configuration of a Spring-based Assembler, using the Discover Electronics reference application as the example.
The default cartridge configuration is specified in the Spring context
file, located at
ToolsAndFrameworks\<version>\reference\discover-electronics-authoring\WEB-INF\assembler-context.xml
for the authoring instance of the Discover Electronics reference application.
This includes values for the following properties on the
ResultsListConfig
content item:
sortOption
— The sorting options available to the end user when viewing the list of query results.relRankStrategy
— The Relevance Ranking strategy applied to search results. For more information about Relevance Ranking, see the MDEX Engine Developer's Guide.recordsPerPage
— The number of records to display per page of results.
Note
The above list is a subset of configured properties and provided as an example.
This section illustrates a cartridge instance configuration for a Spring-based Assembler, using the Discover Electronics reference application as the example.
The cartridge instance configuration comes from the values in the
ToolsAndFrameworks\<version>\reference\discover-data\import\templates\ResultsList\_.json
cartridge template. The template exposes the following properties to the
business user in Experience Manager:
boostStrata
— A list of records to elevate to the top of the Results List.buryStrata
— A list of records to move to the bottom of the Results List.sortOption
— The business user can override the default sorting options.relRankStrategy
— The business user can override the default Relevance Ranking strategy.recordsPerPage
— The business user can override the default number of records to display on each page.
The application end user's configuration in Discover Electronics is
passed to the
ResultsListConfig
object as URL parameters, though you
may choose to implement such functionality differently in your own application.
offset
— Controls the record offset of the displayed results in order to control record display while paging through results.sortOption
— The end user can override the default values and the instance configuration.recordsPerPage
— The end user can override the default values and the instance configuration.
The Results List cartridge handler combines the default, instance, and
request-based values to create a query to send to the MDEX Engine. The values
are used to populated the
ResultsList
content item and return it to the
application for rendering.