You can customize output in any text-based format, including XML or JSON.
The output format is customizable to support the faceting, sorting, and other implementation-specific decisions that are made during the design process. You can adapt the format itself to simplify the development of the customer’s front end, if necessary.
The entire output is contained within <result>
tags, and most of the dynamic data is enclosed within <![CDATA[ ]]>
tags. Such organization allows the results to contain HTML and other non-XML entities.
Where links to other pages are provided, they are presented in the form of a relative URL. This result also includes the query string parameters that are passed to generate the desired result.
When you begin a Guided Search implementation remember that Adobe Search&Promote is responsible for the Business Layer. That is, the logic that surrounds what results and facets are shown to a customer at any given time.
When you implement the Web application front end that parses and displays the results as HTML, restrict the functionality to display only. In other words, any server-side logic that you use to create the Presentation Layer does not make the decisions about what to present to a customer, unless it is necessary. The Business Rules will not work as you expect if the front-end script is altering the search results.
Adobe Search&Promote maintains user state of selected search refinement options by way of the URL parameters. All <link>
nodes contain the relevant parameters of the customer’s selections. These parameters can include breadcrumb, pagination, sort, and facet selections. Where applicable, <undolink>
nodes are returned to allow a customer to “back out” of a selection. Facets and breadcrumbs offer these types of links.
A REST-like API is used that you can interact with to perform searches and receive results. The most common formats used for the results are XML or JSON.
The base URI is associated with a specific account and a staged or live environment. You can request multiple aliases for the base URI from your account manager. For example, a fictional company called Megacorp has the following two base URLs associated with their account:
https://search.megacorp.com
https://stage.megacorp.com
The former URI performs searches against their live index and the latter URI against their staged index.
Search requests consist of the base URI and a set of CGI parameters or key-value pairs that indicate the desired search for the account that is associated with the base URI.
Three formats of CGI parameters are supported. By default your account is configured to separate CGI parameters with a semi-colon ( ;
), as in the following example:
https://search.megacorp.com?q=shoes ;page=2
If you prefer, you can have your account manager configure your account to use ampersands ( &
) to separate the CGI parameters, as in the following example:
https://search.megacorp.com?q=shoes &page=2
A third format, called the SEO format, is also supported where a forward slash ( /
) is used in place of the separator and equal sign to generate “clean” links, as in the following example:
https://search.megacorp.com/q/shoes/page/2
Any time the SEO format is used to send a request, all output links are returned in the same format.
The following table describes the standard “out-of-the-box” search query parameters that you can use. Processing rules and business rules can be built based off user-defined query parameters to implement custom business logic that is relevant to your company. You can work with the consulting team to obtain documentation on those parameters.
Search query parameter |
Example |
Description |
---|---|---|
q |
q= string |
Specifies the query string for the search. This parameter maps to the sp_q backend search parameter. |
q# |
q#= string |
Numbered q and x parameters accomplish faceting, or searching within a given field. The q parameter defines the term you are searching for in the facet as the corresponding numbered x parameter denotes. For example, if you have two facets that are named size and color, you could have something like the following: q1=small;x1=size;q2=red;x2=color This parameter maps to the sp_q_exact_# backend search parameters. |
x# |
x#= string |
Numbered q and x parameters accomplish faceting, or searching within a given field. The q parameter defines the term you are searching for in the facet as the corresponding numbered x parameter denotes. For example, if you have two facets that are named size and color, you could have something like the following: q1=small;x1=size;q2=red;x2=color This parameter maps to the sp_x_# backend search parameters. |
collection |
collection= string |
Specifies the collection to use for the search. This parameter maps to the sp_k backend search parameter. |
count |
count= number |
Specifies the total count of results that are shown. The default is defined in Settings > Searching > Searches . This parameter maps to the sp_c backend search parameter. |
page |
page= number |
Specifies the page of results that are returned. |
rank |
rank= field |
Specifies the rank field to use for static ranking. The field must be a field of type Rank with relevance greater than 0. This parameter maps to the sp_sr backend parameter. |
gs_store |
gs_store= string |
Specifies the store to search. |
sort |
sort= number |
Specifies the sort order. "0" is the default and sorts by relevance score; "1" sorts by date; "-1" does not sort. Users can specify a field name for the value of the sp_s parameter. For example, sp_s=title sorts results according to the values that are contained in the title field. When a field name is used for the value of an sp_s parameter, results are sorted by that field and then subsorted by relevance. To enable this feature, do the following:
|
The following are recommendations for integration with your system.
Communicating with the search server.
You can communicate with the Adobe Search&Promote web servers using http GET requests. Your servers generate these requests or on the client side doing an Ajax request.
Saving the search history.
Adobe Search&Promote is stateless where the entire state is passed over in the http request.
Parsing the returned results.
It is recommended that you use a SAX-based XML parser to parse the XML response. If you are generating Ajax request, configure Adobe Search&Promote to return JSON responses for those requests to make it easier to parse the response.
Tables that describe the standard JSON response output.
See also Guided Search JSON Output.
You can review JSON response for the following:
Example:
<banners>
<banner>
<area><![CDATA[top-left]]></area>
<content><![CDATA[<img src="https://www.megacorp.com/discount.gif"/>]]></content>
</banner>
</banners>
Tags in Banners |
Description |
---|---|
<banner> |
An individual banner node. You can have multiple banner nodes. |
<area> |
The area on the web page where the banner is displayed. |
<content> |
The HTML content for the banner area. |
In the following example, each time the customer narrows down further through the facets, the selection is added to the breadcrumb. Each item is represented as a <breadcrumb-item>
.
Example:
<breadcrumb>
<breadcrumb-item>
<link><![CDATA[?q=new+year]]></link>
<value><![CDATA[new year]]></value>
</breadcrumb-item>
<breadcrumb-item>
<link><![CDATA[?q=new+year;q1=Articles;x1=content-type]]></link>
<value><![CDATA[Articles]]></value>
</breadcrumb-item>
</breadcrumb>
Tags in Breadcrumb |
Description |
---|---|
<link> |
A relative link to search results that shows the desired view. Clicking a breadcrumb link takes the customer to a view where all the subsequent refinements are removed. Other options are also available. |
<value> |
Customer-facing text for the breadcrumb item. |
Facets are refinement options that give customers the ability to filter on the results. Facets are commonly used for categorization, price ranges, color selections, and other attribute refinement. The metadata in the index is what drives facets.
It is common to hide or show categorization facets’ as a customer moves down through the categorization. The highest level of categorization (category) is known as Tier 1. When a customer clicks a Tier 1 option, the Tier 2 (subcategory) refinement options to appear and the Tier 1 options disappear. When a customer clicks a Tier 2 option, the Tier 3 (subsubcategory) refinement options appear, and the Tier 2 options disappear. As noted above, these options are hidden and shown-your web application is not impacted by them.
Each facet is contained within <facet-item>
tags. In the following example, it shows one facet that allows the customer to refine the search results by “holiday”.
Example:
<facets>
<facet-item>
<facet-title><![CDATA[Holidays]]></facet-title>
<facet-value>
<label><![CDATA[New Year]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=New+Year;x1=content-type;x2=holidays]]></link>
<count><![CDATA[11]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Christmas]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Christmas;x1=content-type;x2=holidays]]></link>
<count><![CDATA[7]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Chinese New Year]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Chinese+New+Year;x1=content-type;x2=holidays]]></link>
<count><![CDATA[2]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Thanksgiving]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Thanksgiving;x1=content-type;x2=holidays]]></link>
<count><![CDATA[2]]></count>
</facet-value>
<facet-value>
<label><![CDATA[4th of July]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=4th+of+July;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Father's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Father's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Hanukkah]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Hanukkah;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Mother's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Mother's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Valentine's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Valentine's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
</facet-item>
<facet-item>
<facet-title><![CDATA[Seasons]]></facet-title>
<facet-value>
<label><![CDATA[Winter]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Winter;x1=content-type;x2=seasons]]></link>
<count><![CDATA[20]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Summer]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Summer;x1=content-type;x2=seasons]]></link>
<count><![CDATA[7]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Autumn]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Autumn;x1=content-type;x2=seasons]]></link>
<count><![CDATA[4]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Spring]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Spring;x1=content-type;x2=seasons]]></link>
<count><![CDATA[2]]></count>
</facet-value>
</facet-item>
</facets>
Tags in Facets |
Description |
---|---|
<facet-title> |
Customer-facing title for the facet. |
<label> |
Customer-facing label for the facet option. |
<link> |
Relative link to results that the option refines down. |
<count> |
The number of results in that refined result set. |
<undolink> |
When a facet value is selected the node returns an “undo link” that lets a customer back out of the results. |
Example:
<result>
<query>
<user-query><![CDATA[new year]]></user-query>
<lower-results><![CDATA[1]]></lower-results>
<upper-results><![CDATA[16]]></upper-results>
<total-results><![CDATA[621]]></total-results>
</query>
Used together, these tags present a message such as the following: “Showing results 1-16 of 621 for ‘new year’.”
Tags in header and query |
Description |
---|---|
<user-query> |
The keyword query that is submitted with the request. |
<lower-results> |
The item number of the first result on this page. |
<upper-results> |
The item number of the last result on this page. |
<total-results> |
The total number of results that match the user query. |
<custom-field> |
An optional field that applies globally to the search results. |
Example:
<pagination>
<total-pages><39></total-pages>
<pages>
<page position="first"></page>
<page position="last">?i=1;page=39;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="previous"></page>
<page position="next">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="1" selected="true">?i=1;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="2">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="3">?i=1;page=3;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="4">?i=1;page=4;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="5">?i=1;page=5;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="6">?i=1;page=6;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="7">?i=1;page=7;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="8">?i=1;page=8;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="9">?i=1;page=9;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="10">?i=1;page=10;q=new+year;q1=Articles;x1=content-type]]></page>
</pages>
</pagination>
Tags in Pagination |
Description |
---|---|
<total-pages> |
Total number of pages of results, based on the number of results divided by the number of results per page. |
<page position="first"> |
Contains a relative link to the first page in the result set, unless the customer is already viewing page 1. In such case, it is blank. |
<page position="last"> |
Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. |
<page position="previous"> |
Contains a relative link to the previous page in the result set, unless the customer is viewing page 1; in such case, it is blank. |
<page position="next"> |
Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. |
<page position="x" |
Contains a relative link to a particular page number. Ten contiguous page numbers are shown. On page 1, it would be pages 1-10. At the end of the result set (in this case, 39), it would be pages 30-39. For example, in the center of the result set, page 15, it would be pages 11-20. |
selected="true"> |
Applied as an attribute to the currently selected page. |
Recent Searches is a cookie-based feature that only works if you relay the cookie information to the servers.
Example:
<recent-searches>
<recent-search>
<search-term><![CDATA[shoes]]></search-term>
<link><![CDATA[?q=shoes]]></link>
</recent-search>
</recent-searches>
Tags in Recent Searches |
Description |
---|---|
<recent-search> |
An individual recent-search node. You can have multiple recent-search nodes. |
<search-term> |
The term that the customer searched for previously. |
<link> |
Links to the previous search. |
The Results set is a customizable area of the JSON response. Each index is unique in the field naming mechanisms of metadata. There are common fields that are returned for each result such as title, description, and URL. But, any metadata that is defined for a page in the index can become available to use in each result node. Categorization, prices, colors, and thumbnails are just a few of the options that you can apply to a result to produce more compelling search results.
The Results format is customized based on the metadata that is specific to your implementation. Any per-result data for display in the results, including thumbnail image URLs, is contained here.
In addition, it is possible to configure multiple result zones within the page, such as “Featured Results”, or separate “Products” and “Content” results sections. In these cases, multiple result zones are provided within the HTML, although facets are only associated with the primary result set.
Example:
<results>
<result>
<index><![CDATA[1]]></index>
<result-title><![CDATA[New Year's Eve Slumber Party]]></result-title>
<url><![CDATA[https://mysite.com/parties/new-years-eve-slumber-party-705199/]]></url>
<meta-description><![CDATA[Fun New Year's celebration ideas for your kids]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<small-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/new-years-eve-
slumber-party-parties-photo-80-FF1200SLEEPA18.jpg]]></small-thumbnail-img>
<large-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/new-years-eve-
slumber-party-parties-photo-160-FF1200SLEEPA18.jpg]]></large-thumbnail-img>
<byline><![CDATA[Nancy Mades]]></byline>
<blurb><![CDATA[Fun New Year's celebration ideas for your kids]]></blurb>
</result>
<result>
<index><![CDATA[2]]></index>
<result-title><![CDATA[10 Holiday Traditions to Start This Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/10-holiday-traditions-to-start-this-year-704781/]]></url>
<meta-description><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<small-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/10-holiday-
traditions-to-start-this-year-parties-photo-80-FF1107HOLIA01.jpg]]></small-thumbnail-img>
<large-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/10-holiday-
traditions-to-start-this-year-parties-photo-160-FF1107HOLIA01.jpg]]></large-thumbnail-img>
<byline><![CDATA[Julie Taylor]]></byline>
<blurb><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></blurb>
</result>
<result>
<index><![CDATA[3]]></index>
<result-title><![CDATA[A Perfect New Year's Eve]]></result-title>
<url><![CDATA[https://mysite.com/parties/a-perfect-new-years-eve-705258/]]></url>
<meta-description><![CDATA[You can turn New Year's into a celebration for the whole family.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Teri Keough]]></byline>
<blurb><![CDATA[You can turn New Year's into a celebration for the whole family.]]></blurb>
</result>
<result>
<index><![CDATA[4]]></index>
<result-title><![CDATA[New Year's Fun and Games]]></result-title>
<url><![CDATA[https://mysite.com/parties/new-years-fun-and-games-705220/]]></url>
<meta-description><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Charlotte Meryman]]></byline>
<blurb><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></blurb>
</result>
<result>
<index><![CDATA[5]]></index>
<result-title><![CDATA[11 Great Ways to Start the New Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/11-great-ways-to-start-the-new-year-705552/]]></url>
<meta-description><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Emily Block]]></byline>
<blurb><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></blurb>
</result>
<result>
<index><![CDATA[6]]></index>
<result-title><![CDATA[Celebrating Chinese New Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/celebrating-chinese-new-year-705260/]]></url>
<meta-description><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></blurb>
</result>
<result>
<index><![CDATA[7]]></index>
<result-title><![CDATA[New Year's Eve, Family Style]]></result-title>
<url><![CDATA[https://mysite.com/holidays/new-years-eve-family-style-701283/]]></url>
<meta-description><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></blurb>
</result>
<result>
<index><![CDATA[8]]></index>
<result-title><![CDATA[Chinese New Year Activities]]></result-title>
<url><![CDATA[https://mysite.com/crafts/chinese-new-year-activities-710345/]]></url>
<meta-description><![CDATA[Activities for celebrating Chinese New Year.]]></meta-description>
<category><![CDATA[crafts]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Activities for celebrating Chinese New Year.]]></blurb>
</result>
<result>
<index><![CDATA[9]]></index>
<result-title><![CDATA[More Organized in the New Year]]></result-title>
<url><![CDATA[https://mysite.com/holidays/more-organized-in-the-new-year-701284/]]></url>
<meta-description><![CDATA[Tips for getting your household more organized--and getting the kids to help.]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Tips for getting your household more organized--and getting your kids to help out.]]></blurb>
</result>
<result>
<index><![CDATA[10]]></index>
<result-title><![CDATA[Checklists: Year-End Safety Checklist]]></result-title>
<url><![CDATA[https://mysite.com/holidays/checklists-year-end-safety-checklist-701352/]]></url>
<meta-description><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></blurb>
</result>
</results>
</customer-result>
Tags in Results |
Description |
---|---|
<index> |
The serial number of the result within this result set. In this example, where ten results are shown per page, on page 2 of the results, the first item would have an index of 11. |
<result-title> |
The customer-facing title for this page. |
<url> |
The URL for this page. It is used to create a hyperlink that lets the customer click through the results. |
Example:
<search-form>
<include-tnt-mbox>1 </included-tnt-mbox>
<autocomplete>
<css><![CDATA[<!--link rel="stylesheet" type="te
xt/css"href="//content.atomz.com/sp000000a8/publish/autoc
omplete_styles.css?sp_css_cache_ver=2" /-->]]>
</css>
<form-content><![CDATA[<div id="autocomplete"></div>]]>
</form-content>
<js><![CDATA[<script type="text/javascript"
src="//content.atomz.com/sp100491de/publish/autoc
omplete_data.js?sp_js_cache_ver=3"></script>]]>
</js>
</autcomplete>
<hidden-parameters>
<parameter>
<name><![CDATA[store]]></name>
<value><![CDATA[mens]]></value>
</parameter>
</hidden-parameters>
</search-form>
Tags in Search Form |
Description |
---|---|
<include-tnt-mbox> |
Optional. When present in the JSON, a value of 1 it indicates that your account is linked to Test&Target and has at least one business rule that is in an A:B test. |
<autocomplete> |
Optional. When using auto-complete, this node is present to indicate that the CSS and JavaScript is present on the page along with the content that is in the form. These fields typically do not change unless someone has changed an autocomplete setting. In such cases, the xxx_cache_ver field is incremented to force an invalidation of the cached content on your customer’s browser. |
<css> |
The CSS that is associated with autocomplete. It is recommended that you place this tag high in the page to improve page rendering. |
<form-content> |
Content that is required inside your search-from for the autocomplete utility to hook-up to the correct control. |
<js> |
Custom JavaScript that is required for Autocomplete. It is recommended that you place this tag low in the page to improve page rendering. The YUI JavaScript is also required for autocomplete. |
<hidden-parameters> |
Contains all the hidden parameters (name and value) to include in the search form. |
The following example shows the data for a three-option sort menu. The menu allows the customer to sort by relevance, title, or rating. The currently selected item includes an attribute “selected=true”. ". Always offer a relevance option to allow a customer to return to the default search results that were originally displayed.
Example:
<sort>
<sort-item selected="true">
<label><![CDATA[Relevance]]></label>
<value><![CDATA[relevance]]></value>
<link><![CDATA[]]></link>
</sort-item>
<sort-item>
<label><![CDATA[Title]]></label>
<value><![CDATA[title]]></value>
<link><![CDATA[?q=new+year;q1=Articles;sort=title;x1=content-type]]></link>
</sort-item>
<sort-item>
<label><![CDATA[Rating]]></label>
<value><![CDATA[user-rating]]></value>
<link><![CDATA[?q=new+year;q1=Articles;sort=user-rating;x1=content-type]]></link>
</sort-item>
</sort>
Tags in Sort Menu |
Description |
---|---|
<label> |
The customer-facing text for the option. |
<value> |
Represents the value of the “sort” query string parameter for this option. This tag is not needed if the <link> value is used. |
<link> |
For the non-selected options, the <link> parameter contains the relative link that returns the same result set, sorted by the new sort parameter. This field is blank for the currently selected sort option. |
Suggestions are returned when there are only a few result or no results. This node contains terms that do yield successful queries and can be displayed on a “No Results” page. The link is also returned so a customer can jump to the new query.
Example:
<suggestions>
<suggestion-item>
<link><![CDATA[?q=video]]></link>
<word><![CDATA[video]]>
Tags in Suggestions |
Description |
---|---|
<link> |
A relative link that is used to create a hyperlink to search results for the suggestion term. |
<word> |
The suggested term. |
Example:
<zones>
<zone>
<name><![CDATA[best-sellers]]></name>
<display><![CDATA[1]]></display>
</zone>
</zones>
Tags in Zones |
Description |
---|---|
<zone> |
An individual zone node. You can have multiple zone nodes. |
<name> |
The name of the zone. |
<display> |
1 or 0 to indicate if the zone is or is not displayed. The actual zone content can be a static area on your web page or in your search results, such as best sellers or related products. |
Tables that describe the standard XML response output.
You can review XML response for the following:
Example:
<banners>
<banner>
<area><![CDATA[top-left]]></area>
<content><![CDATA[<img src="https://www.megacorp.com/discount.gif"/>]]></content>
</banner>
</banners>
Tags in Banners |
Description |
---|---|
<banner> |
An individual banner node. You can have multiple banner nodes. |
<area> |
The area on the web page where the banner is displayed. |
<content> |
The HTML content for the banner area. |
In the following example, each time the customer narrows down further through the facets, the selection is added to the breadcrumb. Each item is represented as a <breadcrumb-item>
.
Example:
<breadcrumb>
<breadcrumb-item>
<link><![CDATA[?q=new+year]]></link>
<value><![CDATA[new year]]></value>
</breadcrumb-item>
<breadcrumb-item>
<link><![CDATA[?q=new+year;q1=Articles;x1=content-type]]></link>
<value><![CDATA[Articles]]></value>
</breadcrumb-item>
</breadcrumb>
Tags in Breadcrumb |
Description |
---|---|
<link> |
A relative link to search results that shows the desired view. Clicking a breadcrumb link takes the customer to a view where all the subsequent refinements are removed. Other options are also available. |
<value> |
Customer-facing text for the breadcrumb item. |
Facets are refinement options that give customers the ability to filter on the results. Facets are commonly used for categorization, price ranges, color selections, and other attribute refinement. The metadata in the index is what drives facets.
It is common to hide or show categorization facets’ as a customer moves down through the categorization. The highest level of categorization (category) is known as Tier 1. When a customer clicks a Tier 1 option, the Tier 2 (subcategory) refinement options to appear and the Tier 1 options disappear. When a customer clicks a Tier 2 option, the Tier 3 (subsubcategory) refinement options appear, and the Tier 2 options disappear. As noted above, these options are hidden and shown-your web application is not impacted by them.
Each facet is contained within <facet-item>
tags. In the following example, it shows one facet that allows the customer to refine the search results by “holiday”.
Example:
<facets>
<facet-item>
<facet-title><![CDATA[Holidays]]></facet-title>
<facet-value>
<label><![CDATA[New Year]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=New+Year;x1=content-type;x2=holidays]]></link>
<count><![CDATA[11]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Christmas]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Christmas;x1=content-type;x2=holidays]]></link>
<count><![CDATA[7]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Chinese New Year]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Chinese+New+Year;x1=content-type;x2=holidays]]></link>
<count><![CDATA[2]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Thanksgiving]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Thanksgiving;x1=content-type;x2=holidays]]></link>
<count><![CDATA[2]]></count>
</facet-value>
<facet-value>
<label><![CDATA[4th of July]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=4th+of+July;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Father's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Father's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Hanukkah]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Hanukkah;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Mother's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Mother's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Valentine's Day]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Valentine's+Day;x1=content-type;x2=holidays]]></link>
<count><![CDATA[1]]></count>
</facet-value>
</facet-item>
<facet-item>
<facet-title><![CDATA[Seasons]]></facet-title>
<facet-value>
<label><![CDATA[Winter]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Winter;x1=content-type;x2=seasons]]></link>
<count><![CDATA[20]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Summer]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Summer;x1=content-type;x2=seasons]]></link>
<count><![CDATA[7]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Autumn]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Autumn;x1=content-type;x2=seasons]]></link>
<count><![CDATA[4]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Spring]]></label>
<link><![CDATA[?q=new+year;q1=Articles;q2=Spring;x1=content-type;x2=seasons]]></link>
<count><![CDATA[2]]></count>
</facet-value>
</facet-item>
</facets>
Tags in Facets |
Description |
---|---|
<facet-title> |
Customer-facing title for the facet. |
<label> |
Customer-facing label for the facet option. |
<link> |
Relative link to results that the option refines down. |
<count> |
The number of results in that refined result set. |
<undolink> |
When a facet value is selected the node returns an “undo link” that lets a customer back out of the results. |
Example:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<result>
<query>
<user-query><![CDATA[new year]]></user-query>
<lower-results><![CDATA[1]]></lower-results>
<upper-results><![CDATA[16]]></upper-results>
<total-results><![CDATA[621]]></total-results>
</query>
Used together, these tags present a message such as the following: “Showing results 1-16 of 621 for ‘new year’.”
Tags in Header and Query |
Description |
---|---|
<user-query> |
The keyword query that is submitted with the request. |
<lower-results> |
The item number of the first result on this page. |
<upper-results> |
The item number of the last result on this page. |
<total-results> |
The total number of results that match the user query. |
<custom-field> |
An optional field that applies globally to the search results. |
Example:
<pagination>
<total-pages><39></total-pages>
<pages>
<page position="first"></page>
<page position="last">?i=1;page=39;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="previous"></page>
<page position="next">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="1" selected="true">?i=1;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="2">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="3">?i=1;page=3;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="4">?i=1;page=4;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="5">?i=1;page=5;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="6">?i=1;page=6;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="7">?i=1;page=7;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="8">?i=1;page=8;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="9">?i=1;page=9;q=new+year;q1=Articles;x1=content-type]]></page>
<page position="10">?i=1;page=10;q=new+year;q1=Articles;x1=content-type]]></page>
</pages>
</pagination>
Tags in Pagination |
Description |
---|---|
<total-pages> |
Total number of pages of results, based on the number of results divided by the number of results per page. |
<page position="first"> |
Contains a relative link to the first page in the result set, unless the customer is already viewing page 1. In such case, it is blank. |
<page position="last"> |
Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. |
<page position="previous"> |
Contains a relative link to the previous page in the result set, unless the customer is viewing page 1; in such case, it is blank. |
<page position="next"> |
Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. |
<page position="x" |
Contains a relative link to a particular page number. Ten contiguous page numbers are shown. On page 1, it would be pages 1-10. At the end of the result set (in this case, 39), it would be pages 30-39. For example, in the center of the result set, page 15, it would be pages 11-20. |
selected="true"> |
Applied as an attribute to the currently selected page. |
Recent Searches is a cookie-based feature that only works if you relay the cookie information to the servers.
Example:
<recent-searches>
<recent-search>
<search-term><![CDATA[shoes]]></search-term>
<link><![CDATA[?q=shoes]]></link>
</recent-search>
</recent-searches>
Tags in Recent Searches |
Description |
---|---|
<recent-search> |
An individual recent-search node. You can have multiple recent-search nodes. |
<search-term> |
The term that the customer searched for previously. |
<link> |
Links to the previous search. |
The Results set is a customizable area of the XML response. Each index is unique in the field naming mechanisms of metadata. There are common fields that are returned for each result such as title, description, and URL. But, any metadata that is defined for a page in the index can become available to use in each result node. Categorization, prices, colors, and thumbnails are just a few of the options that you can apply to a result to produce more compelling search results.
The Results format is customized based on the metadata that is specific to your implementation. Any per-result data for display in the results, including thumbnail image URLs, is contained here.
In addition, it is possible to configure multiple result zones within the page, such as “Featured Results”, or separate “Products” and “Content” results sections. In these cases, multiple result zones are provided within the HTML, although facets are only associated with the primary result set.
Example:
<results>
<result>
<index><![CDATA[1]]></index>
<result-title><![CDATA[New Year's Eve Slumber Party]]></result-title>
<url><![CDATA[https://mysite.com/parties/new-years-eve-slumber-party-705199/]]></url>
<meta-description><![CDATA[Fun New Year's celebration ideas for your kids]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<small-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/new-years-eve-
slumber-party-parties-photo-80-FF1200SLEEPA18.jpg]]></small-thumbnail-img>
<large-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/new-years-eve-
slumber-party-parties-photo-160-FF1200SLEEPA18.jpg]]></large-thumbnail-img>
<byline><![CDATA[Nancy Mades]]></byline>
<blurb><![CDATA[Fun New Year's celebration ideas for your kids]]></blurb>
</result>
<result>
<index><![CDATA[2]]></index>
<result-title><![CDATA[10 Holiday Traditions to Start This Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/10-holiday-traditions-to-start-this-year-704781/]]></url>
<meta-description><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<small-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/10-holiday-
traditions-to-start-this-year-parties-photo-80-FF1107HOLIA01.jpg]]></small-thumbnail-img>
<large-thumbnail-img><![CDATA[https://mysite.com/assets/cms/parties/10-holiday-
traditions-to-start-this-year-parties-photo-160-FF1107HOLIA01.jpg]]></large-thumbnail-img>
<byline><![CDATA[Julie Taylor]]></byline>
<blurb><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></blurb>
</result>
<result>
<index><![CDATA[3]]></index>
<result-title><![CDATA[A Perfect New Year's Eve]]></result-title>
<url><![CDATA[https://mysite.com/parties/a-perfect-new-years-eve-705258/]]></url>
<meta-description><![CDATA[You can turn New Year's into a celebration for the whole family.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Teri Keough]]></byline>
<blurb><![CDATA[You can turn New Year's into a celebration for the whole family.]]></blurb>
</result>
<result>
<index><![CDATA[4]]></index>
<result-title><![CDATA[New Year's Fun and Games]]></result-title>
<url><![CDATA[https://mysite.com/parties/new-years-fun-and-games-705220/]]></url>
<meta-description><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Charlotte Meryman]]></byline>
<blurb><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></blurb>
</result>
<result>
<index><![CDATA[5]]></index>
<result-title><![CDATA[11 Great Ways to Start the New Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/11-great-ways-to-start-the-new-year-705552/]]></url>
<meta-description><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<byline><![CDATA[Emily Block]]></byline>
<blurb><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></blurb>
</result>
<result>
<index><![CDATA[6]]></index>
<result-title><![CDATA[Celebrating Chinese New Year]]></result-title>
<url><![CDATA[https://mysite.com/parties/celebrating-chinese-new-year-705260/]]></url>
<meta-description><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></meta-description>
<category><![CDATA[parties]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></blurb>
</result>
<result>
<index><![CDATA[7]]></index>
<result-title><![CDATA[New Year's Eve, Family Style]]></result-title>
<url><![CDATA[https://mysite.com/holidays/new-years-eve-family-style-701283/]]></url>
<meta-description><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></blurb>
</result>
<result>
<index><![CDATA[8]]></index>
<result-title><![CDATA[Chinese New Year Activities]]></result-title>
<url><![CDATA[https://mysite.com/crafts/chinese-new-year-activities-710345/]]></url>
<meta-description><![CDATA[Activities for celebrating Chinese New Year.]]></meta-description>
<category><![CDATA[crafts]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Activities for celebrating Chinese New Year.]]></blurb>
</result>
<result>
<index><![CDATA[9]]></index>
<result-title><![CDATA[More Organized in the New Year]]></result-title>
<url><![CDATA[https://mysite.com/holidays/more-organized-in-the-new-year-701284/]]></url>
<meta-description><![CDATA[Tips for getting your household more organized--and getting the kids to help.]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Tips for getting your household more organized--and getting your kids to help out.]]></blurb>
</result>
<result>
<index><![CDATA[10]]></index>
<result-title><![CDATA[Checklists: Year-End Safety Checklist]]></result-title>
<url><![CDATA[https://mysite.com/holidays/checklists-year-end-safety-checklist-701352/]]></url>
<meta-description><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></meta-description>
<category><![CDATA[holidays]]></category>
<content-type><![CDATA[Articles]]></content-type>
<blurb><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></blurb>
</result>
</results>
</customer-result>
Tags in Results |
Description |
---|---|
<index> |
The serial number of the result within this result set. In this example, where ten results are shown per page, on page 2 of the results, the first item would have an index of 11. |
<result-title> |
The customer-facing title for this page. |
<url> |
The URL for this page. It is used to create a hyperlink that lets the customer click through the results. |
Example:
<search-form>
<include-tnt-mbox>1 </included-tnt-mbox>
<autocomplete>
<css><![CDATA[<!--link rel="stylesheet" type="te
xt/css"href="//content.atomz.com/sp000000a8/publish/autoc
omplete_styles.css?sp_css_cache_ver=2" /-->]]>
</css>
<form-content><![CDATA[<div id="autocomplete"></div>]]>
</form-content>
<js><![CDATA[<script type="text/javascript"
src="//content.atomz.com/sp100491de/publish/autoc
omplete_data.js?sp_js_cache_ver=3"></script>]]>
</js>
</autcomplete>
<hidden-parameters>
<parameter>
<name><![CDATA[store]]></name>
<value><![CDATA[mens]]></value>
</parameter>
</hidden-parameters>
</search-form>
Tags in Search Form |
Description |
---|---|
<include-tnt-mbox> |
Optional. When present in the XML, a value of 1 it indicates that your account is linked to Test&Target and has at least one business rule that is in an A:B test. |
<autocomplete> |
Optional. When using auto-complete, this node is present to indicate that the CSS and JavaScript is present on the page along with the content that is in the form. These fields typically do not change unless someone has changed an autocomplete setting. In such cases, the xxx_cache_ver field is incremented to force an invalidation of the cached content on your customer’s browser. |
<css> |
The CSS that is associated with autocomplete. It is recommended that you place this tag high in the page to improve page rendering. |
<form-content> |
Content that is required inside your search-from for the autocomplete utility to hook-up to the correct control. |
<js> |
Custom JavaScript that is required for Autocomplete. It is recommended that you place this tag low in the page to improve page rendering. The YUI JavaScript is also required for autocomplete. |
<hidden-parameters> |
Contains all the hidden parameters (name and value) to include in the search form. |
The following example shows the data for a three-option sort menu. The menu allows the customer to sort by relevance, title, or rating. The currently selected item includes an attribute “selected=true”. ". Always offer a relevance option to allow a customer to return to the default search results that were originally displayed.
Example:
<sort>
<sort-item selected="true">
<label><![CDATA[Relevance]]></label>
<value><![CDATA[relevance]]></value>
<link><![CDATA[]]></link>
</sort-item>
<sort-item>
<label><![CDATA[Title]]></label>
<value><![CDATA[title]]></value>
<link><![CDATA[?q=new+year;q1=Articles;sort=title;x1=content-type]]></link>
</sort-item>
<sort-item>
<label><![CDATA[Rating]]></label>
<value><![CDATA[user-rating]]></value>
<link><![CDATA[?q=new+year;q1=Articles;sort=user-rating;x1=content-type]]></link>
</sort-item>
</sort>
Tags in Sort Menu |
Description |
---|---|
<label> |
The customer-facing text for the option. |
<value> |
Represents the value of the “sort” query string parameter for this option. This tag is not needed if the <link> value is used. |
<link> |
For the non-selected options, the <link> parameter contains the relative link that returns the same result set, sorted by the new sort parameter. This field is blank for the currently selected sort option. |
Suggestions are returned when there are only a few result or no results. This node contains terms that do yield successful queries and can be displayed on a “No Results” page. The link is also returned so a customer can jump to the new query.
Example:
<suggestions>
<suggestion-item>
<link><![CDATA[?q=video]]></link>
<word><![CDATA[video]]>
Tags in Suggestions |
Description |
---|---|
<link> |
A relative link that is used to create a hyperlink to search results for the suggestion term. |
<word> |
The suggested term. |
Example:
<zones>
<zone>
<name><![CDATA[best-sellers]]></name>
<display><![CDATA[1]]></display>
</zone>
</zones>
Tags in Zones |
Description |
---|---|
<zone> |
An individual zone node. You can have multiple zone nodes. |
<name> |
The name of the zone. |
<display> |
1 or 0 to indicate if the zone is or is not displayed. The actual zone content can be a static area on your web page or in your search results, such as best sellers or related products. |
Tables that describe the standard XML response output for AEM (Adobe Experience Manager).
See also . Guided Search XML Output
You can review XML response for the following:
Site search/merchandising can manage a customer’s banners, plugging the banners into various parts on a web page.
Example banner:
The following is an example of a banner that is placed in the area of the pages called “top”.
<banners>
<banner>
<area><![CDATA[top]]></area>
<content><![CDATA[<div style="color:#70A100">We have custom shipping</div>]]></content>
</banner>
</banners>
Node |
Parent Node |
Description |
---|---|---|
banners |
customer-results |
Contains 0-n banner nodes denoting each banner area and the content that is plugged into that area. |
banner |
banners |
An individual banner node. You can have multiple banner nodes. |
area |
banner |
The area on the web page where the banner is displayed. |
content |
banner |
The banner content. |
Multiple breadcrumbs are supported. You can define breadcrumbs and their corresponding behavior in Design > Navigation > Breadcrumbs. Also, you need to assign a unique name for each breadcrumb that you define. The breadcrumbs XML node iterates over all of your defined breadcrumbs. It is recommended that you only display one breadcrumb in your search-results.
In the following example, each time the customer narrows down further through the facets, the selection is added to the breadcrumb. Each item is represented as a <breadcrumb-item>
.
Example breadcrumb node:
<breadcrumbs>
<breadcrumb>
<name><![CDATA[default]]></name>
<breadcrumb-item>
<link><![CDATA[?i=1;q=mens;sp_cs=UTF-8;view=xml]]></link>
<value><![CDATA[mens]]></value>
<label><![CDATA[]]></label>
</breadcrumb-item>
<breadcrumb-item>
<link><![CDATA[?i=1;q=mens;q1=Channel;sp_cs=UTF-8;view=xml;x1=brand]]></link>
<value><![CDATA[Channel]]></value>
<label><![CDATA[brand]]></label>
</breadcrumb-item>
</breadcrumb>
</breadcrumbs>
Node |
Parent Node |
Description |
---|---|---|
breadcrumbs |
customer-results |
Contains 0-n breadcrumb nodes that define each breadcrumb. Most customers only have one breadcrumb. |
breadcrumb |
breadcrumbs |
Contains the children nodes defining the definition of a breadcrumb. |
name |
breadcrumb |
The name of the breadcrumb. |
breadcrumb-item |
An individual item within the breadcrumb. Each item denotes a step in the trail as the user narrows down the results set. |
|
link |
breadcrumb-item |
A relative link to search results that shows the desired view. Clicking a breadcrumb link takes the customer to a view where all the subsequent refinements are removed. Other options are also available such as drop and remove. |
value |
breadcrumb-item |
Customer-facing text for the breadcrumb item. |
label |
breadcrumb-item |
The label tag outputs a label for a breadcrumb value detailing which facet was selected to generate that breadcrumb item. It is only used in the context of a guided-breadcrumb block. For the query term step this is blank. |
Custom fields is a miscellaneous collection of variables with a global context. It is typically used to pass over variables for SEO purposes that are set in the search results page’s metadata.
Example custom fields node:
<custom-fields>
<custom-field name="seo-search-title"><![CDATA[Geometrixx Search Results]]></custom-field>
<custom-field name="seo-search-keywords"><![CDATA[]]></custom-field>
</custom-fields>
Node |
Parent Node |
Description |
---|---|---|
custom-fields |
customer-results |
Can contain 0-n children nodes that define custom fields. |
custom-field |
custom-fields |
Optional. Contains a value for a given custom field indicated by the name attribute. |
Facets are refinement options that give customers the ability to filter on the results. Facets are commonly used for categorization, price ranges, color selections, and other attribute refinement. Facets are built on top of the metadata in the index.
It is common to hide or show categorization facets’ as a customer moves down through the categorization. The highest level of categorization (category) is known as Tier 1. When a customer clicks a Tier 1 option, the Tier 2 (subcategory) refinement options to appear and the Tier 1 options disappear. When a customer clicks a Tier 2 option, the Tier 3 (sub-subcategory) refinement options appear, and the Tier 2 options disappear. As noted above, these options are hidden and displayed; your web application does not impact them.
Each facet is contained within <facet-item>
tags. In the following example, it shows one facet that lets the customer refine the search results by “holiday”.
Example of facet block:
<facets>
<facet>
<facet-title><![CDATA[Department]]></facet-title>
<behavior><![CDATA[sticky]]></behavior>
<selected>1</selected>
<undo-link><![CDATA[?i=1;lang=enus;q=*;q1=Armora+Jeans;sp_staged=1;view=xml;x1=brand]]></undo-link>
<facet-value>
<selected><![CDATA[true]]></selected>
<label><![CDATA[Mens]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Armora+Jeans;q2=Mens;sp_staged=1;view=xml;x1=brand;x2=leveli]]></link>
<count><![CDATA[3]]></count>
<undolink><![CDATA[?i=1;lang=enus;q=*;q1=Armora+Jeans;sp_staged=1;view=xml;x1=brand]]></undolink>
</facet-value>
</facet>
<facet>
<facet-title><![CDATA[Sub-Category]]></facet-title>
<behavior><![CDATA[sticky]]></behavior>
<selected>0</selected>
<facet-value>
<label><![CDATA[Apparel]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans;q3=Apparel;sp_staged=1;view=xml;x1=leveli;x2=brand;x3=levelii]]></link>
<count><![CDATA[3]]></count>
</facet-value>
</facet>
<facet>
<facet-title><![CDATA[Brand]]></facet-title>
<behavior><![CDATA[multi-select]]></behavior>
<selected>1</selected>
<undo-link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;sp_staged=1;view=xml;x1=leveli]]></undo-link>
<facet-value>
<label><![CDATA[Amoura]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Amoura;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[9]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Armora]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Armora;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[12]]></count>
</facet-value>
<facet-value>
<selected><![CDATA[true]]></selected>
<label><![CDATA[Armora Jeans]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Armora+Jeans;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[3]]></count>
<undolink><![CDATA[?i=1;lang=enus;q=*;q1=Mens;sp_staged=1;view=xml;x1=leveli]]></undolink>
</facet-value>
<facet-value>
<label><![CDATA[Art of Grooming]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Art+of+Grooming;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[4]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Bear Co.]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Bear+Co.;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[1]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Citizens]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|Citizens;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[4]]></count>
</facet-value>
<facet-value>
<label><![CDATA[D&B]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|D%26B;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[17]]></count>
</facet-value>
<facet-value>
<label><![CDATA[David Yuri]]></label>
<link><![CDATA[?i=1;lang=enus;q=*;q1=Mens;q2=Armora+Jeans|David+Yuri;sp_staged=1;view=xml;x1=leveli;x2=brand]]></link>
<count><![CDATA[2]]></count>
</facet-value>
</facet>
</facets>
Node |
Parent Node |
Description |
---|---|---|
facets |
customer-results |
The container facets node that has 0-n children nodes representing each facet. |
facet |
facets |
A single facet instance. |
facet-title |
facet |
Customer-facing title for the facet. |
behavior |
facet |
The facet's behavior. For example, normal, sticky, or multi-select. |
selected |
facet |
1 if the facet has a selected value otherwise 0. |
undo-link |
facet |
Only present when the facet selected. Undo link reverts the whole facet. For example, when it is a multi-select facet, it deselects all selected options for the facet. |
facet-value |
facet |
Contains all the individual facet items belonging to the facet. |
selected |
facet-value |
If the current item with the facet is selected, this node is present and set to "true". |
label |
facet-value |
Customer-facing label for the facet option. By default this should already by HTML-escaped. |
link |
facet-value |
Relative link to results that the option further refines. |
count |
facet-value |
The number of results in that refined result set. |
undo-link |
facet-value |
When a facet value is selected the node returns an “undo link” that lets a customer back out selecting that individual facet selection. |
Example:
xml version="1.0" encoding="utf-8" standalone="yes"
Menus for sorting the results are supported, and changing the number of results to return per page. It also supports a navigation menu that is useful for using “search as navigation”. An account can define multiple menus of the same type and use any of the menus for their presentation.
Example menus node:
The following example shows the data for a three-option sort menu and navigation menu. The sort menu allows the customer to sort by relevance, title, or rating. The currently selected item includes an attribute “selected=true”. ". Always offer a relevance option to allow a customer to return to the default search results that were originally displayed.
<menus>
<menu>
<name><![CDATA[sort]]></name>
<item selected="true">
<label><![CDATA[Relevance]]></label>
<value><![CDATA[relevance]]></value>
<link><![CDATA[ ]]></link>
</item>
<item>
<label><![CDATA[Lowest Price]]></label>
<value><![CDATA[Price]]></value>
<link><![CDATA[?i=1;q=mens;sort=Price;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
<item>
<label><![CDATA[Highest Price]]></label>
<value><![CDATA[Price_r]]></value>
<link><![CDATA[?i=1;q=mens;sort=Price_r;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
<item>
<label><![CDATA[Brand]]></label>
<value><![CDATA[brand]]></value>
<link><![CDATA[?i=1;q=mens;sort=brand;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
</menu>
<menu>
<name><![CDATA[ss_head_nav]]></name>
<item>
<label><![CDATA[WOMEN'S]]></label>
<value><![CDATA[?q1=Womens;sp_sfvl_field=levelii|leveli|brand|leveliii;x=0;x1=leveli;y=0;view=nav;top=1]]></value>
<link><![CDATA[?q1=Womens;sp_sfvl_field=levelii|leveli|brand|leveliii;x=0;x1=leveli;y=0;view=nav;top=1;i=1;m_ss_head_nav=WOMEN'S]]></link>
</item>
<item>
<label><![CDATA[MEN'S]]></label>
<value><![CDATA[/q1/Mens/x1/leveli/view/nav/top/1/]]></value>
<link><![CDATA[/q1/Mens/x1/leveli/view/nav/top/1/]]></link>
</item>
<item>
<label><![CDATA[JEWELRY & ACCESSORIES]]></label>
<value><![CDATA[?q1=Jewelry+%26+Accessories&sp_sfvl_field=levelii|leveli|brand|leveliii&x1=leveli&view=nav&top=1]]></value>
<link><![CDATA[?q1=Jewelry+%26+Accessories&sp_sfvl_field=levelii|leveli|brand|leveliii&x1=leveli&view=nav&top=1;i=1;m_ss_head_nav=JEWELRY+%26+ACCESSORIES]]></link>
</item>
<item>
<label><![CDATA[BEAUTY & FRAGRANCE]]></label>
<value><![CDATA[?q1=Beauty+%26+Fragrance;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Beauty+%26+Fragrance;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=BEAUTY+%26+FRAGRANCE]]></link>
</item>
<item>
<label><![CDATA[GIFTS & HOME]]></label>
<value><![CDATA[?q1=Gifts+%26+Home;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Gifts+%26+Home;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=GIFTS+%26+HOME]]></link>
</item>
<item>
<label><![CDATA[CHILDREN & TOYS]]></label>
<value><![CDATA[?q1=Children+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Children+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=CHILDREN+%26+TOYS]]></link>
</item>
<item>
<label><![CDATA[ELECTRONICS]]></label>
<value><![CDATA[?q1=Electronics+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Electronics+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=ELECTRONICS]]></link>
</item>
</menu>
</menus>
Node |
Parent Node |
Description |
---|---|---|
menus |
customer-results |
Contains 0-n children nodes defining each menu. |
menu |
menus |
Single instance of a menu (corresponds to a menu that is defined in Design > Navigation > Menus ). |
name |
menu |
Name of the menu. |
item |
menu |
Defines each item in the menu. The optional attribute selected is set to true if the given menu item is currently selected. |
label |
item |
The customer-facing text for the menu item. |
value |
item |
Represents the value of the menu item (the query parameter value that the menu is set too) . This tag is not needed if the <link> value is used. |
link |
item |
For the non-selected options, the <link> parameter contains the relative link that returns the same result set, but with the menu option applied. This field is blank for the currently selected sort option. |
Results sets are split over several pages. Typically customers display 10 - 20 results on a single page. Subsequent results are displayed on the next page. The pagination XML lets you build a set of navigation links so that your customers can browse, page by page, through the result sets. There are four available navigation links: first, last, next, and previous. Each type of link lets customers quickly move through the pages so they can review and refine what they are looking for, easily.
The following example shows the pagination for a search that is on the first page with the pagination configured to show links to five pages.
Example pagination:
<pagination>
<total-pages><![CDATA[112]]></total-pages>
<pages>
<page position="first"><![CDATA[]]></page>
<page position="last"><![CDATA[?i=1;page=112;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="next"><![CDATA[?i=1;page=2;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="1" selected="true"><![CDATA[?i=1;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="2"><![CDATA[?i=1;page=2;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="3"><![CDATA[?i=1;page=3;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="4"><![CDATA[?i=1;page=4;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="5"><![CDATA[?i=1;page=5;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
</pages>
</pagination>
Node |
Parent Node |
Description |
---|---|---|
pagination |
customer-results |
Total number of pages of results, based on the number of results divided by the number of results per page. |
total-pages |
pagination |
The total number of pages that the search results are spread out over. |
pages |
pagination |
Contains 0-n page nodes defining each page in the pagination. |
page |
pages |
Four special page nodes exists: first, last, previous, and next. These four pages are optional and appear in the result set only if they make sense. For example, if you are on page 1, there is no "previous" link. All other pages indicate a position. The number of pages that are listed depends on the "number of links to pages" that is configured in the pagination user interface. The "selected" attribute indicates the page that the customer is currently on. |
Example query node:
<query>
<user-query><![CDATA[mens]]></user-query>
<lower-results><![CDATA[1]]></lower-results>
<upper-results><![CDATA[12]]></upper-results>
<total-results><![CDATA[265]]></total-results>
</query>
Node |
Parent Node |
Description |
---|---|---|
query |
customer-results |
A global node that provides an overview of the query. |
user-query |
query |
The keyword that was searched for. If Did You Mean automatically searched for a suggested term due to the original term yielding no results, it is reflected in the new keyword that was searched for (see the suggestions node to get the original keyword). |
lower-results |
query |
The item number of the first result on this page. |
upper-results |
query |
The item number of the last result on this page. |
total-results |
query |
The total number of results that match the user query. |
Recent Searches is a cookie-based feature that only works if you relay the cookie information to site search/merchandising servers.
Example of recent searches:
<recent-searches>
<clear-link><![?q=womens&gscr=clear]]></clear-link>
<recent-search>
<link><![?q=mens]]></link>
<label><![CDATA[mens]]></label>
<recent-search>
</recent-searches>
Node |
Parent Node |
Description |
---|---|---|
recent-searches |
customer-results |
Node is only present if search has recent searches. |
clear-link |
recent-searches |
The relative path that clears all the customer's recent searches. |
recent-search |
recent-searches |
Defines n recent searches. |
link |
recent-search |
The path to create a link that performs a search that the user recently performed. |
label |
recent-search |
Customer facing display label for the recent search. |
The Results set is a customizable area of the XML response. Each index is unique in the field naming mechanisms of metadata. There are common fields that are returned for each result such as title, description, and URL. But, any metadata that is defined for a page in the index can become available to use in each result node. Categorization, prices, colors, and thumbnails are just a few of the options that you can apply to a result to produce more compelling search results.
The results format is customized based on the metadata that is specific to your implementation. Any per-result data for display in the results, including thumbnail image URLs, is contained here.
In addition, it is possible to configure multiple result zones within the page, such as “Featured Results”, or separate “Products” and “Content” results sections. In these cases, multiple result zones are provided within the HTML, although facets are only associated with the primary result set.
Example results node:
<results>
<result-set>
<name><![CDATA[default]]></name>
<result>
<field name="index"><![CDATA[1]]></field>
<field name="sku"><![CDATA[200190]]></field>
<field name="pagename"><![CDATA[Relaxed Paint Splattered]]></field>
<field name="img_sm_url"><![CDATA[https://geometrixx.com/images/08_geometrixx_icon_men.jpg]]></field>
<field name="brand"><![CDATA[Armora Jeans]]></field>
<field name="price"><![CDATA[195]]></field>
<field name="foundIn"><![CDATA[Mens,
Apparel,
Denim]]></field>
</result>
<result>
<field name="index"><![CDATA[2]]></field>
<field name="sku"><![CDATA[200195]]></field>
<field name="pagename"><![CDATA[Tumbled Jeans]]></field>
<field name="img_sm_url"><![CDATA[https://geometrixx.com/images/08_geometrixx_icon_men.jpg]]></field>
<field name="brand"><![CDATA[Armora Jeans]]></field>
<field name="price"><![CDATA[235]]></field>
<field name="foundIn"><![CDATA[Mens,
Apparel,
Denim]]></field>
</result>
<result>
<field name="index"><![CDATA[3]]></field>
<field name="sku"><![CDATA[200196]]></field>
<field name="pagename"><![CDATA[Montana Relaxed]]></field>
<field name="img_sm_url"><![CDATA[https://geometrixx.com/images/08_geometrixx_icon_men.jpg]]></field>
<field name="brand"><![CDATA[Armora Jeans]]></field>
<field name="price"><![CDATA[220]]></field>
<field name="foundIn"><![CDATA[Mens,
Apparel,
Denim]]></field>
</result>
</result-set>
</results>
Node |
Parent Node |
Description |
---|---|---|
results |
customer-results |
The container node for 0-n results sets. Zero result sets means that you are on a special no-results landing page. |
result-set |
results |
An incoming search can fire multiple searches. Each result-set contains the results for a specific named search that was performed. |
name |
result-set |
The name of the search that the result set belongs to. |
result |
result-set |
Contains all the fields that are associated with an individual result for the result set. |
field |
result |
The name attribute defines the name of the field within the index that is displayed. The value is the actual value for that field. Some results can have missing fields that are not relevant for that individual result. |
Search Form is included in the result set to let customers build their search form dynamically. This step is optional. Most customers have a fixed search form. However, it does allow customers to determine if the search form needs a Test&Target mbox, based on having at least one business rule that does an A:B test. Similarly it allows customers to automatically pick-up the latest autocomplete CSS and JavaScript.
Example of search form XML:
<search-form>
<include-tnt-mbox>1</include-tnt-mbox>
<autocomplete>
<enabled>1</enabled>
<css><![CDATA[<link rel="stylesheet" type="text/css" href="https://content.t1.atomz.com/sp10043554/stage/autocomplete_styles.css?sp_js_param=2" />
]]></css>
<form-content><![CDATA[<div id="autocomplete"></div>
<input type="hidden" name="sp_staged" id="sp_staged" value="1" />
]]></form-content>
<javascript><![CDATA[<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/utilities/utilities.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/datasource/datasource-min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/autocomplete/autocomplete-min.js"></script>
<script type="text/javascript" src="https://content.t1.atomz.com/sp10043554/stage/autocomplete_data.js?sp_js_param=3"></script>]]></javascript>
</autocomplete>
</search-form>
Node |
Parent Node |
Description |
---|---|---|
search-form |
customer-results |
Contains data for driving the search form. |
include-tnt-mbox |
search-form |
Technically you only require an mbox in the search form when you have at least one business rule doing a Test&Target A:B test. This node indicates if you need an mbox or not allowing you to reduce the number hits on the Test&Target servers. |
autocomplete |
search-form |
Houses children node related to auto-complete. |
enabled |
autocomplete |
Set to 1 when the search account is using autocomplete. |
css |
autocomplete |
CSS for autocomplete. Place this node as high up on the page as possible. |
form-content |
autocomplete |
Content that is injected into the search form. |
javascript |
autocomplete |
JavaScript for autocomplete. Place this node as low as possible on the page. |
Customers can configure Did You Mean functionality in three ways: make suggestions due to no results, automatically search against the first suggestion when we have no results, or make suggestions due to low results (where the suggestions have a higher result count). All the suggestions yield results.
This suggestions node contains the terms that do yield successful queries. The link is also returned so a customer can jump to the new query.
Example output for making suggestion due to 0 results:
<suggestions>
<auto-searched>0</auto-searched>
<suggestions-low-results>0</suggestions-low-results>
<suggestion-item>
<link><![CDATA[?i=1;q=arcade;sp_cs=UTF-8;view=xml]]></link>
<word><![CDATA[arcade]]></word>
</suggestion-item>
</suggestions>
Example output for automatically searching against a suggestion:
<suggestions>
<auto-searched>1</auto-searched>
<orig-query><![CDATA[arcace]]></orig-query>
<suggestions-low-results>0</suggestions-low-results>
</suggestions>
Example output for making suggestion due to low results:
<suggestions>
<auto-searched>0</auto-searched>
<suggestions-low-results>1</suggestions-low-results>
<suggestion-item>
<link><![CDATA[?i=1;q=coffee;sp_cs=UTF-8;view=xml]]></link>
<word><![CDATA[coffee]]></word>
</suggestion-item>
</suggestions>
Node |
Parent Node |
Description |
---|---|---|
suggestion |
customer-results |
Contains children nodes that define suggestion, if any exist. |
auto-searched |
suggestions |
If present, indicates if site search/merchandising automatically searched against a new term due to no results. |
orig-query |
suggestions |
When site search/merchandising automatically searches against the first suggestion, the user-query in the query node shows the keyword that is searched against. This node shows the original query term. Combining the two lets customers create structures such as "Searching for arcade instead of arcace". |
suggestions-low-results |
suggestions |
If present, indicates if site search/merchandising is making suggestions due to the current search term yielding low results and a suggestion yielding considerably higher results. The two thresholds are configurable in Did You Mean . |
suggestion-item |
suggestions |
Contains 0-n nodes denoting the various suggestions. |
link |
suggestion-item |
Contains the path for creating a link to the suggested term. |
word |
suggestion-item |
Contains the suggested word. |
The ability to switch a customers search experience based on the results is supported. Part of this involves switching between different templates with a different layout of search results. For example, you may have a template with a grid view of products for when you have lots of products. Or, you may have a “spotlight” template when displaying a single result that has more details. You may also have a “no results” template when a search does not yield any results. The template node indicates which template is used to display the search results.
Example template:
<template><![CDATA[grid]]></template>
Node |
Parent Node |
Description |
---|---|---|
template |
customer-results |
Indicates the name of the template that is used to display the search results. |
Zones are sections of the pages that can be turned on or turned off by business rules. A zone can contain any content including, but not limited too, facets, searches, breadcrumbs, static content. The zones on the customers web page should map to the same areas as site search/merchandising.
Example of zone nodes:
<zones>
<zone>
<name><![CDATA[brand-facet]]></name>
<display>1</display>
</zone>
</zones>
Node |
Parent Node |
Description |
---|---|---|
zones |
customer-results |
Contains 0-n zones. |
zone |
zones |
An individual zone node. You can have multiple zone nodes. |
name |
zone |
The name of the zone. |
display |
1 or 0, indicating if the zone corresponding to the zone name is displayed or hidden. |
|
Example output for a * search on a fictional website called Geometrixx and an example presentation template that is used to produce the example output.
Example output for a * search on a fictional website called Geometrixx.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<customer-results>
<query>
<user-query><![CDATA[*]]></user-query>
<lower-results><![CDATA[1]]></lower-results>
<upper-results><![CDATA[12]]></upper-results>
<total-results><![CDATA[1337]]></total-results>
</query>
<custom-fields>
<custom-field name="seo-search-title"><![CDATA[Geometrixx Search Results]]></custom-field>
<custom-field name="seo-search-keywords"><![CDATA[]]></custom-field>
</custom-fields>
<menus>
<menu>
<name>sort</name>
<item selected="true">
<label><![CDATA[Relevance]]></label>
<value><![CDATA[relevance]]></value>
<link><![CDATA[ ]]></link>
</item>
<item>
<label><![CDATA[Lowest Price]]></label>
<value><![CDATA[Price]]></value>
<link><![CDATA[?i=1;q=*;sort=Price;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
<item>
<label><![CDATA[Highest Price]]></label>
<value><![CDATA[Price_r]]></value>
<link><![CDATA[?i=1;q=*;sort=Price_r;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
<item>
<label><![CDATA[Brand]]></label>
<value><![CDATA[brand]]></value>
<link><![CDATA[?i=1;q=*;sort=brand;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
</item>
</menu>
<menu>
<name><![CDATA[ss_head_nav]]></name>
<label><![CDATA[WOMEN'S]]></label>
<value><![CDATA[?q1=Womens;sp_sfvl_field=levelii|leveli|brand|leveliii;x=0;x1=leveli;y=0;view=nav;top=1]]></value>
<link><![CDATA[?q1=Womens;sp_sfvl_field=levelii|leveli|brand|leveliii;x=0;x1=leveli;y=0;view=nav;top=1;i=1;m_ss_head_nav=WOMEN'S]]></link>
<label><![CDATA[MEN'S]]></label>
<value><![CDATA[/q1/Mens/x1/leveli/view/nav/top/1/]]></value>
<link><![CDATA[/q1/Mens/x1/leveli/view/nav/top/1/]]></link>
<label><![CDATA[JEWELRY & ACCESSORIES]]></label>
<value><![CDATA[?q1=Jewelry+%26+Accessories&sp_sfvl_field=levelii|leveli|brand|leveliii&x1=leveli&view=nav&top=1]]></value>
<link><![CDATA[?q1=Jewelry+%26+Accessories&sp_sfvl_field=levelii|leveli|brand|leveliii&x1=leveli&view=nav&top=1;i=1;m_ss_head_nav=JEWELRY+%26+ACCESSORIES]]></link>
<label><![CDATA[BEAUTY & FRAGRANCE]]></label>
<value><![CDATA[?q1=Beauty+%26+Fragrance;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Beauty+%26+Fragrance;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=BEAUTY+%26+FRAGRANCE]]></link>
<label><![CDATA[GIFTS & HOME]]></label>
<value><![CDATA[?q1=Gifts+%26+Home;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Gifts+%26+Home;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=GIFTS+%26+HOME]]></link>
<label><![CDATA[CHILDREN & TOYS]]></label>
<value><![CDATA[?q1=Children+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Children+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=CHILDREN+%26+TOYS]]></link>
<label><![CDATA[ELECTRONICS]]></label>
<value><![CDATA[?q1=Electronics+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1]]></value>
<link><![CDATA[?q1=Electronics+%26+Toys;sp_sfvl_field=levelii|leveli|brand|leveliii;x1=leveli;view=nav;top=1;i=1;m_ss_head_nav=ELECTRONICS]]></link>
</menu>
</menus>
<breadcrumbs>
<breadcrumb>
<name><![CDATA[default]]></name>
<breadcrumb-item>
<link><![CDATA[?i=1;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></link>
<value><![CDATA[*]]></value>
<label><![CDATA[]]></label>
</breadcrumb-item>
</breadcrumb>
</breadcrumbs>
<suggestions>
<auto-searched>0</auto-searched>
<suggestions-low-results>0</suggestions-low-results>
</suggestions>
<pagination>
<total-pages><![CDATA[112]]></total-pages>
<pages>
<page position="first"><![CDATA[]]></page>
<page position="last"><![CDATA[?i=1;page=112;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="next"><![CDATA[?i=1;page=2;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="1" selected="true"><![CDATA[?i=1;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="2"><![CDATA[?i=1;page=2;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="3"><![CDATA[?i=1;page=3;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="4"><![CDATA[?i=1;page=4;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
<page position="5"><![CDATA[?i=1;page=5;q=*;sp_cs=UTF-8;sp_staged=1;view=xml]]></page>
</pages>
</pagination>
<facets>
<facet-item>
<facet-title><![CDATA[Department]]></facet-title>
<selected>0</selected>
<facet-value>
<label><![CDATA[Womens]]></label>
<link><![CDATA[?i=1;q=*;q1=Womens;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[219]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Mens]]></label>
<link><![CDATA[?i=1;q=*;q1=Mens;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[202]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Beauty & Fragrance]]></label>
<link><![CDATA[?i=1;q=*;q1=Beauty+%26+Fragrance;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[169]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Children & Toys]]></label>
<link><![CDATA[?i=1;q=*;q1=Children+%26+Toys;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[209]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Electronics & Toys]]></label>
<link><![CDATA[?i=1;q=*;q1=Electronics+%26+Toys;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[200]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Gifts & Home]]></label>
<link><![CDATA[?i=1;q=*;q1=Gifts+%26+Home;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[156]]></count>
</facet-value>
<facet-value>
<label><![CDATA[Jewelry & Accessories]]></label>
<link><![CDATA[?i=1;q=*;q1=Jewelry+%26+Accessories;sp_cs=UTF-8;sp_staged=1;view=xml;x1=leveli]]></link>
<count><![CDATA[182]]></count>
</facet-value>
</facet-item>
</facets>
<results>
<result-set>
<name><![CDATA[default]]></name>
<result>
<field name="index"><![CDATA[1]]></field>
<field name="brand"><![CDATA[Citizens]]></field>
<field name="price"><![CDATA[149]]></field>
<field name="foundIn"><![CDATA[Womens,
Apparel,
Denim]]></field>
</result>
<result>
<field name="index"><![CDATA[2]]></field>
<field name="brand"><![CDATA[One For All]]></field>
<field name="price"><![CDATA[145]]></field>
<field name="foundIn"><![CDATA[Womens,
Apparel,
Denim]]></field>
</result>
<result>
<field name="index"><![CDATA[3]]></field>
<field name="brand"><![CDATA[Citizens]]></field>
<field name="price"><![CDATA[208]]></field>
<field name="foundIn"><![CDATA[Womens,
Apparel,
Denim]]></field>
</result>
<result>
<field name="index"><![CDATA[4]]></field>
<field name="brand"><![CDATA[Vera Watson]]></field>
<field name="price"><![CDATA[850]]></field>
<field name="foundIn"><![CDATA[Womens,
Dresses,
Day]]></field>
</result>
<result>
<field name="index"><![CDATA[5]]></field>
<field name="brand"><![CDATA[Ray Laredo]]></field>
<field name="price"><![CDATA[195]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[6]]></field>
<field name="brand"><![CDATA[Ray Laredo]]></field>
<field name="price"><![CDATA[80]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[7]]></field>
<field name="brand"><![CDATA[Petrol]]></field>
<field name="price"><![CDATA[85]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[8]]></field>
<field name="brand"><![CDATA[Woolberry]]></field>
<field name="price"><![CDATA[280]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[9]]></field>
<field name="brand"><![CDATA[Petrol]]></field>
<field name="price"><![CDATA[149]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[10]]></field>
<field name="brand"><![CDATA[Ray Laredo]]></field>
<field name="price"><![CDATA[55]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[11]]></field>
<field name="brand"><![CDATA[Petrol]]></field>
<field name="price"><![CDATA[45]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
<result>
<field name="index"><![CDATA[12]]></field>
<field name="brand"><![CDATA[Ray Laredo]]></field>
<field name="price"><![CDATA[47]]></field>
<field name="foundIn"><![CDATA[Children & Toys,
Apparel,
Boys Toddler (2T-4T)]]></field>
</result>
</result-set>
</results>
<banners>
<banner>
<area><![CDATA[top]]></area>
<content><![CDATA[<div style="color:#70A100">We have custom shipping</div>]]></content>
</banner>
</banners>
<zones>
<zone>
<name><![CDATA[brand-facet]]></name>
<display>1</display>
</zone>
</zones>
<search-form>
<include-tnt-mbox>1</include-tnt-mbox>
<autocomplete>
<enabled>1</enabled>
<css><![CDATA[<link rel="stylesheet" type="text/css" href="https://content.t1.atomz.com/sp10043554/stage/autocomplete_styles.css?sp_js_param=2" />
]]></css>
<form-content><![CDATA[<div id="autocomplete"></div>
<input type="hidden" name="sp_staged" id="sp_staged" value="1" />
]]></form-content>
<javascript><![CDATA[<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/utilities/utilities.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/datasource/datasource-min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/autocomplete/autocomplete-min.js"></script>
<script type="text/javascript" src="https://content.t1.atomz.com/sp10043554/stage/autocomplete_data.js?sp_js_param=3"></script>]]></javascript>
</autocomplete>
</search-form>
</customer-results>
The following is an example presentation template that is used to produce the example output above.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<customer-results>
<query>
<user-query><![CDATA[<guided-query-param gsname="q" />]]></user-query>
<lower-results><![CDATA[<guided-results-lower>]]></lower-results>
<upper-results><![CDATA[<guided-results-upper>]]></upper-results>
<total-results><![CDATA[<guided-results-total>]]></total-results>
</query>
<custom-fields>
<custom-field name="seo-search-title"><![CDATA[Geometrixx Search Results]]></custom-field>
<custom-field name="seo-search-keywords"><![CDATA[<guided-general-field gsname="default" field="seo_search_keywords"/>]]></custom-field>
</custom-fields>
<menus>
<menu>
<name>sort</name>
<guided-menu gsname="sort">
<guided-if-menu-item-selected>
<item selected="true">
<label><![CDATA[<guided-menu-item-label />]]></label>
<value><![CDATA[<guided-menu-item-value />]]></value>
<link><![CDATA[ ]]></link>
</item>
<guided-else-menu-item-selected>
<item>
<label><![CDATA[<guided-menu-item-label />]]></label>
<value><![CDATA[<guided-menu-item-value />]]></value>
<link><![CDATA[<guided-menu-item-path />]]></link>
</item>
</guided-if-menu-item-selected>
</guided-menu>
</menu>
<menu>
<name><![CDATA[ss_head_nav]]></name>
<guided-menu gsname="ss_head_nav">
<guided-if-menu-item-selected>
<item selected="true">
<label><![CDATA[<guided-menu-item-label />]]></label>
<value><![CDATA[<guided-menu-item-value />]]></value>
<link><![CDATA[<guided-menu-item-path />]]></link>
<guided-else-menu-item-selected>
<label><![CDATA[<guided-menu-item-label />]]></label>
<value><![CDATA[<guided-menu-item-value />]]></value>
<link><![CDATA[<guided-menu-item-path />]]></link>
</guided-if-menu-item-selected>
</guided-menu>
</menu>
</menus>
<breadcrumbs>
<breadcrumb>
<name><![CDATA[default]]></name>
<guided-breadcrumb gsname="default">
<breadcrumb-item>
<link><![CDATA[<guided-breadcrumb-path gsname="goto">]]></link>
<value><![CDATA[<guided-breadcrumb-value />]]></value>
<label><![CDATA[<guided-breadcrumb-label>]]></label>
</breadcrumb-item>
</guided-breadcrumb>
</breadcrumb>
</breadcrumbs>
<suggestions>
<auto-searched><guided-if-suggestion-autosearch>1<guided-else-suggestion-autosearch>0</guided-if-suggestion-autosearch></auto-searched>
<guided-if-suggestion-autosearch><orig-query><![CDATA[<guided-suggestion-original-query/>]]></orig-query></guided-if-suggestion-autosearch>
<suggestions-low-results><guided-if-suggestion-low-results>1<guided-else-suggestion-low-results>0</guided-if-suggestion-low-results></suggestions-low-results>
<guided-suggestions>
<suggestion-item>
<link><![CDATA[<guided-suggestion-path />]]></link>
<word><![CDATA[<guided-suggestion />]]></word>
</suggestion-item>
</guided-suggestions>
</suggestions>
<pagination>
<total-pages><![CDATA[<guided-page-total />]]></total-pages>
<pages>
<page position="first"><![CDATA[<guided-page-path gsname="first" />]]></page>
<page position="last"><![CDATA[<guided-page-path gsname="last" />]]></page>
<guided-if-page-prev><page position="prev"><![CDATA[<guided-page-path gsname="prev" />]]></page></guided-if-page-prev>
<guided-if-page-next><page position="next"><![CDATA[<guided-page-path gsname="next" />]]></page></guided-if-page-next>
<guided-if-page-viewall><page position="viewall"><![CDATA[<guided-page-path gsname="viewall" />]]></page></guided-if-page-viewall>
<guided-if-page-viewpages><page position="viewall"><![CDATA[<guided-page-path gsname="viewpages" />]]></page></guided-if-page-viewpages>
<guided-pages>
<guided-if-page-selected><page position="<guided-page-number />" selected="true"><![CDATA[<guided-page-path />]]></page>
<guided-else-page-selected><page position="<guided-page-number />"><![CDATA[<guided-page-path />]]></page>
</guided-if-page-selected>
</guided-pages>
</pages>
</pagination>
<facets>
<guided-facet gsname="leveli">
<facet-item>
<facet-title><![CDATA[Department]]></facet-title>
<selected><guided-if-facet-selected>1<guided-else-facet-selected>0</guided-if-facet-selected></selected>
<guided-if-facet-selected><undo-link><![CDATA[<guided-facet-undo-path gsname="leveli">]]></undo-link></guided-if-facet-selected>
<guided-facet-values>
<facet-value>
<guided-if-facet-value-selected><selected><![CDATA[true]]></selected></guided-if-facet-value-selected>
<label><![CDATA[<guided-facet-value>]]></label>
<link><![CDATA[<guided-facet-value-path />]]></link>
<count><![CDATA[<guided-facet-count>]]></count>
<guided-if-facet-value-selected><undolink><![CDATA[<guided-facet-value-undo-path />]]></undolink></guided-if-facet-value-selected>
</facet-value>
</guided-facet-values>
</facet-item>
</guided-facet>
</facets>
<results>
<result-set>
<name><![CDATA[default]]></name>
<guided-results gsname="default">
<result>
<field name="index"><![CDATA[<guided-result-index />]]></field>
<field name="brand"><![CDATA[<guided-result-field gsname="brand" />]]></field>
<field name="price"><![CDATA[<guided-result-field gsname="price" />]]></field>
<field name="foundIn"><![CDATA[<guided-if-result-field gsname="leveli"><!--tmpl_var name='leveli'-->, </guided-if-result-field>
<guided-if-result-field gsname="levelii"><!--tmpl_var name='levelii'-->, </guided-if-result-field>
<guided-if-result-field gsname="leveliii"><!--tmpl_var name='leveliii'--></guided-if-result-field>]]></field>
</result>
</guided-results>
</result-set>
</results>
<guided-if-recent-searches>
<recent-searches>
<clear-link><guided-recent-searches-clear-path/></clear-link>
<guided-recent-searches>
<recent-search>
<link><guided-recent-searches-path></link>
<label><guided-recent-searches-value></label>
<recent-search>
</guided-recent-searches>
</recent-searches>
</guided-if-recent-searches>
<banners>
<guided-if-banner-set gsname="top">
<banner>
<area><![CDATA[top]]></area>
<content><![CDATA[<guided-banner gsname="top">]]></content>
</banner>
</guided-if-banner-set>
<guided-if-banner-set gsname="bottom">
<banner>
<area><![CDATA[bottom]]></area>
<content><![CDATA[<guided-banner gsname="bottom">]]></content>
</banner>
</guided-if-banner-set>
</banners>
<zones>
<zone>
<name><![CDATA[brand-facet]]></name>
<display><guided-if-zone gsname="brand-facet">1<guided-else-zone>0</guided-if-zone></display>
</zone>
</zones>
<search-form>
<include-tnt-mbox><guided-if-tnt-business-rules>1<guided-else-tnt-business-rules>0</guided-if-tnt-business-rules></include-tnt-mbox>
<autocomplete>
<enabled><guided-if-autocomplete>1<guided-else-autocomplete>0</guided-if-autocomplete></enabled>
<css><![CDATA[<guided-ac-css/>]]></css>
<form-content><![CDATA[<guided-ac-form-content/>]]></form-content>
<javascript><![CDATA[<guided-ac-javascript/>]]></javascript>
</autocomplete>
</search-form>
</customer-results>