412 IBM OmniFind EE V8.4: Configuration and Implementation Scenarios
Our custom federation portlet needs to federate over collections stored in two
different servers. We therefore need to use a federator to issue a
federatedsearch request across a set of heterogeneous searchable collections
and get a unified document result set. Search federators are intermediary
components that exist between the requestors of service and the agents that
perform that service. They are coordinate resources to manage the multitude of
searches that are generated from a single request.
IBM OmniFind Enterprise Edition provides two types of SIAPI federators as
A local federator runs in the client, such as a search portlet, and federates
client over a set of searchable objects. A local federator is created by
using the createLocalFederator method from the SIAPI SearchFactory class.
The set of searchable collections on which the query is run is specified when
the federator is created. A subset of searchable objects can also be specified
during search calls. Before you can create a local federator, you must create
or retrieve searchable objects by using a SIAPI SearchFactory. The
searchable object that is passed to the local federator must be ready for
search without any additional information. The local federator uses the
searchable object to issue a federatedsearch request.
A remote federator federates from a server over a set of searchable objects.
A remote federator is run on the server and consumes server resources. It
can only federate results from the server it is running on (there is no proxy-like
functionality). A remote federator is created by using the getFederator method
from the SearchService class. By default, a remote federator will search and
federate across all collections accessible by the application name specified. It
is also possible to restrict a particular search request to a subset of
accessible collections by passing a string array of collection IDs as a second
parameter to the search method.