Open Text Web Solutions Delivery Server / LiveServer and Google Search Appliance (GSA)

Nov 09, 2011
Diego Vergara

Even though Live Server comes integrated with Verity as a search engine, it is possible to use Google Search Appliance (GSA) as a search engine on a Live Server site.

The Advantages we have for using GSA are:

  • Independent administration console.
  • User search familiarity.
  • Fast search engine with an inbox server.
  • Google custom searches and weights for pages.
  • Google technical support.
Now how would we pass the request to GSA.  First GSA lives in a separated server which will be connected to Live Server by, if possible, a gigabit infrastructure.

GSA is nothing more than a web application that gets http requests and based on the parameters returns an html or xml response.

Knowing this, to integrate GSA with Live server we will need to create a dynament which will include the xml response from GSA and then format with a traditional xslt similar to the ones we use for the rest of the site.

So in brief the steps to integrate GSA will be:

  1. 1.    Set up GSA and index the site (see GSA)
  1. 2.    Create a simple sample GSA http query and test; for instance we will search the word product and the query will be: http://192.168.1.10/search?q=product&output=xml&client=default_frontend&site=default_collection&filter=0
Note: For your query you will need to replace the ip address 192.168.1.10 to your GSA server ip address.  

  1. 3.    Copy the google.dtd file to the following location C:\Program Files\RedDot\LiveServer\tomcat\bin\google.dtd.  This file permits Live Server to process the xml response from Google.  Please note that we are considering the default installation of Live Server on a Windows Server

  1. 4.    Create a dynament like GSASearch.xml and include the following content:

<dynaments-GsaSearch>

<rde-dm:attribute mode="write" source="request" attribute="gsaHost" value="192.168.1.10" />

<rde-dm:include tag="generalResults"  content="http://[#request:gsaHost#]/search?q=[#request:param#].encode()&amp;output=xml&amp;client=default_frontend&amp;site=default_collection&amp;filter=0" rde-id="01"/>

</dynaments-GsaSearch >

  1. 5.    Test the dynament calling with the parameter param to see the results, for instance GSASearch.xml?param=product.  This should return the same result from step 2 but from a live server request.
  1. 6.    Create an xslt file to format the results from Google.