Google Search Appliance Protocol Reference User Manual

Page 87

Advertising
background image

Google Search Appliance: Search Protocol Reference

Dynamic Result Clustering Service /cluster Protocol

87

3.

Triggers an A JAX call to the cluster service to populate the cluster position holders. The cluster
position holders have the following DOM Ids depending on their position:

<xsl:when test="$res_cluster_position = ’top’">

<table>

<tr>
<td id=’cluster_label0’></td>
<td id=’cluster_label2’></td>
<td id=’cluster_label4’></td>
<td id=’cluster_label6’></td>
<td id=’cluster_label8’></td>
</tr>
<tr>
<td id=’cluster_label1’></td>
<td id=’cluster_label3’></td>
<td id=’cluster_label5’></td>
<td id=’cluster_label7’></td>
<td id=’cluster_label9’></td>
</tr>

</table>

</xsl:when>
<xsl:when test="$res_cluster_position = ’right’">

<ul>

<li id=’cluster_label0’></li>
<li id=’cluster_label1’></li>
<li id=’cluster_label2’></li>
<li id=’cluster_label3’></li>
<li id=’cluster_label4’></li>
<li id=’cluster_label5’></li>
<li id=’cluster_label6’></li>
<li id=’cluster_label7’></li>
<li id=’cluster_label8’></li>
<li id=’cluster_label9’></li>

</ul>

</xsl:when>

The default style sheet activates dynamic result clustering using onload attribute of the <body> tag on
the search result page. The following is an example of the body opening tag:

<body onload="cs_loadClusters(’{search query}’, cs_drawClusters);">

Where {search_query} is the current search request, as shown in the following example (broken for
readability):

q=culebra&btnG=Google+Search&access=p&client=default_frontend&output=xml_no_dtd&
proxystylesheet=default_frontend&sort=date%3AD%3AL%3Ad1&entqr=3&entsp=a&oe=UTF-
8&
ie=UTF-8&ud=1&site=default_collection

The default XSLT stylesheet provides the clustering CSS id value for the page heading, cluster
position, and loading message.

<div id=’clustering’>

<h3>Narrow your search</h3>

...

For more information, see “Using Dynamic Result Clusters to Narrow Searches” in Creating the Search
Experience.

Note: The cluster.js file depends on additional JavaScript files listed in the application.

Advertising