The following figure illustrates the place of the Assembler in a Guided Search application:
As shown in the preceding diagram, the following things happen when the Assembler queries the MDEX Engine to obtain the information that a customer requests through Guided Search:
A customer makes a request for information through your application page.
To pass the customer's request to the Assembler, your application invokes the assemble() method as follows:
ContentItem result = assembler.assemble(contentItem)
The Assembler passes the request to the navigation cartridge handler.
The navigation cartridge handler invokes the Presentation API to pass the request to the MDEX Engine.
The MDEX Engine finds the requested information, filters and sorts it, and returns it to the navigation cartridge handler.
The navigation cartridge handler returns to the Assembler a content item containing the requested information.
The Assembler combines this content item and other content items into a result content item. The result content item is a tree of content items, each of which contains information to be displayed in a particular cartridge.
The Assembler returns the result content item to your application.
In your application, the rendering code for each cartridge handler identifies the information in the result content item that is to be displayed in the corresponding cartridge. The rendering code then converts this information ("renders" it) into a form that can be displayed.
Your application returns the rendered information to the application page to be displayed.
An application page typically requires several queries to the MDEX engine to retrieve all the content that it will display; these queries are made through a single call to the Assembler. The Assembler issues the individual queries and assembles the individual responses into a single result content item.
The content item tree can contain content items from sources of information other than the MDEX Engine, such as RSS feeds, Database Management Systems (DBMS), Data Asset Managers (DAMs) and Content Management Systems (CMSs). Note, however, that the search features affecting the management of records, dimensions, and properties, as described in this guide, are applied only to content that is processed by the MDEX Engine. For information about how to use the Assembler to manage information from sources other than the MDEX Engine, refer to the Assembler Developer's Guide.
For information about the Assembler API, refer to the Assembler API help (javadoc). The Assembler API can be invoked directly in a Java environment, but it can also run as a RESTful service accessible by any language.