You are here: Home Plone products collective.gsa

collective.gsa (1.0.9)

by Olha Pelishok last modified 2011-02-03
Released on 2011-01-25 by Fry-IT, Matous Hora under GPL - GNU General Public License available for All platforms.
Software development stage: stable
GSA integration for external indexing and searching

Package collective.gsa integrates Plone site with a Google Search Appliance (GSA). It provides an indexing processor with collective.indexing as well as a search capabilities.

collective.gsa is tested and runs only with Plone 3.x at the moment. To run collective.gsa with Plone 4.x you have to modify the search template to follow Plone 4 requirements.

Global reindex

In the GSA maintenance configlet there is a tool to globally reindex the whole site. If the site is a large one, memory related issues may appear. Thus the reindex allows you to run it piece by piece by batching the objects.

If it is more suitable to run rather more small batches then there is an example script in the example folder which runs the batch reindexes repeatedly.


Package collective.gsa registers adapter for IQueueIndexProcessor and indexing is done via collective.indexing package. When object is reindexed the content provider adapter is called to obtain the data.

The package contains content providers for objects implementing IATDocument, IATFile and IATContentType.
  • For document CTs (Page, News Items etc.) the main macro ( usually the site without portlets and the header).
  • For file CTs the primary file field is sent.
  • For other archetype based CTs the title and description.

To create support for other types just create your own content provider implementing interface IContentProvider and register it via zcml. For details look at the content_provider module and gsa's configure.zcml

The package supports dual indexing if you have two sites - e.g. secure for edit access and public for anonymous access. The object's identifier in GSA is its url which is obtained using object's absolute_url method. Thus all the indexing has to be done from the url you want it to be indexed for ( e.i. not from localhost). In the GSA's control panel you can set a dual base url for anonymous site. Then the url is constructed using the dual url plus absolute_url_path method.

When reindexing object, the feed id added to a persistent queue and is removed when successfully sent to GSA hence if GSA is unreachable the feed will be send when another object is reindexed.

Fact that GSA received the feed does not mean that it is going to be indexed ( e.i. the url is not in the Matched URLs settings ) If your objects are not indexed, please, check the GSA's Crawl and Index settings.


This package replaces the search template and livesearch script to use GSA as a search engine. This is done by adding a gsasearch=on into the search request to avoid using GSA search for internal searches ( such as navigation, folder contents etc. )

The plone's advanced search is at the default search_form template and does not use GSA at all, because GSA does not handle indexes as zope's ZCatalog does. However you can use the GSA's advanced search which url you can set at the local GSA control panel.

Document Actions
Powered by Plone