Skip to main content

Experience Management

The plumbing of expert search with Google Search Appliance

Expert Search is an important feature from Google Search Appliance (GSA). The default frontend provided out of the box support to Expert Search since 7.0. Here are a few major bullet points that involve Expert search configuration and result display.plumbing-of-expert-search

  • Configuration of Expert Search for frontend via Admin console (For 7.0, Social Connector → Expert Search, For 7.2, Search → Expert Search)
    The configuration covers:
  • The UI configuration for both Widget and Detailed views
  • The collection that contains the expert data.

The configuration results will later be retrieved during Expert Search. You can follow the blog Where’s the beef of your Expert Search, GSA? to check the content of the configuration.

  • From default_frontend, a separated XSLT file was included by the following line:
    <xsl:include href=”expertsearch”/>
    The included stylesheet has definitions of templates and variables related to expert search.

  • Within the default_frontend, the expert search results are displayed via the following XSLT calls:

<xsl:template match=”GSP”>
<xsl:choose>
<!– Expert Search – return the expert search results for widget view
if the current query is for the same. –>
<xsl:when test=”$show_expert_search_widget_view_results = ‘1’”>
<xsl:call-template name=”render_expert_search_results”>
<xsl:with-param name=”src_prefix” select=”concat($gsa_search_root_path_prefix, ‘?’)”/>

  • The template, render_expert_search_results was defined in XSLT file, expertsearch, which was part of default deliverables from GSA. This is the XSLT stylesheet that controls how the results of expert search are displayed.

  • Within template render_expert_search_results, a few different cases are handled (the following was just taken from the comments within the stylesheet):

* (case 1) Return iframe to handle noscript scenario.
* (case 2) Return full HTML document when results are not requested through the JavaScript component and it’s not expanded mode. This happens in the noscript mode or when directly opening the widget view in browser without JavaScript component requesting the same.
* (case 3) If the request is asynchronous via the JavaScript component then only return the results section markup.

Since parameter is_noscript_mode within template render_expert_search_results is set to ‘false’ by default, it would render that only last two cases are possible. Both of last two cases would evntually call template render_expert_search_results_ to process expert search results.

  • Template compose_expert_search_query_string_ defined in expertserch stylesheet is the place to construct the query for expert search.

This is the template where extra customization could be added before Expert Search query is triggered, such as adding additional search term or condition, enabling wildcard support during expert search for GSA 7.2, and so on.

  • Template render_expert_search_results_ eventually turns to template process_expert_result_ to handle the display of expert search results. It in turn reads the display layout configuration from the search results and transformed the search results into HTML display. The majority of customization to expert search display is usually done within this template.

That’s it.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow Us