Search Server Implimentation

In large deployments there is a need to have a sedicated number of nodes operating as search servers so as to reduce local disk requirements per node. If there is 1TB of content, and 100G of index, ten each node would require 100G of local storage and a futher 100G of shared storage. To eliminate this requirement a search node can be configured to use a Search Service (become a Search Client) provided by annother Sakai instance operating as a Search Service.

Search Client

Search Server

Error Conditions.

This feature is available post SVN r20036 configruation settings are detailed on the search Home page, duplicated here

Configuration

Search Server/Search Client

A new feature post r20035 (2.4) allows you to specify if a node is a search server or a search client. Search Servers have a copy of the index and provide a HTTP-XML Search web service to Search clients. Search Clients do not have a copy of the index (for search purposes) and use the configured Search Service to perform the search operation. For mere details of the impl see SearchServerImpl

will make the node in question a search service and expose an HTTP-XML Web service to other clients. This service is relatively insecure and can be made more secure using a shared Ket, but should not be exposed outside the cluster.

will set the shared key which must be the same on both the search server and its clients.

On the client you must indicate which search service to use with a URL.

Additionally you will want to stop the client from participating in index building with

So the server config might be

searchServer@org.sakaiproject.search.api.SearchService=true
sharedKey@org.sakaiproject.search.api.SearchService=SharedKetToStopSecurity6423134Leaks

# If you only have 1 node acting as a dedicated search server you may also want to
# disable Shared Segments (but read the warnings above first)
#
# localSegmentsOnly@org.sakaiproject.search.api.SearchService.SegmentStore=true

and the client(s)

searchServerUrl@org.sakaiproject.search.api.SearchService=http://<host>:<port>/sakai-search-tool/xmlsearch/
search.indexbuild=false
sharedKey@org.sakaiproject.search.api.SearchService=SharedKetToStopSecurity6423134Leaks