Oracle® WebCenter Interaction Development Kit 10.3.3.0.0

Plumtree.Remote.PRC.Search Namespace

Provides interfaces for searching remote systems from the portal.

Three key features of this API allow it to provide a generic interface to search operations within the portal. The first is provision of consistently named request and response objects that disguise the modal nature of search within the portal. The second is the use of a hierarchical naming convention to describe the various named properties, numeric property IDs, and bits of metadata maintained by the portal and its layered applications. The third leverages off the naming scheme to create a "document model" for describing search constraints as well as search results, independently of implementation details within the portal.

For details on Search Server configuration, see KB article 11467. This KB article also contains details on the exception "Query connection queue backlog exceeds maximum (20)".

Since IDK 5.0

Namespace hierarchy

Classes

ClassDescription
Field Abstract superclass of PlumtreeField and PortalField.
PlumtreeField PlumtreeField contains all fields common to all AquaLogic User Interaction (formerly Plumtree) applications. PlumtreeField is not an enumeration, as new fields can be created using ForID().
PortalField PortalField extends PlumtreeField to add fields defined by the portal, including OBJECT_ID, CLASS_ID, and FOLDER_PATH. Additional PortalFields corresponding to custom properties can be created using PortalField.ForID(). PortalField is not an enumeration, as new PortalFields can be created using ForID().
SearchException Thrown when a remote invocation results in an error on the portal side, usually due to invalid parameters.
SearchWarning Represents warnings defined by the search server.

Interfaces

InterfaceDescription
IFilterClause Interface to add Filter Statements and Clauses to an existing IFilterClause. Filter Clauses are created from the ISearchFactory interface.
IPortalSearchRequest Interface to add restrictions to an ISearchRequest. IPortalSearchRequest is created from the ISearchFactory interface. See Search Examples.
IPortalSearchResult Subinterface of ISearchResult that provides convenience methods to retrieve the values of default fields.
ISearchFactory Factory interface to generate IPortalSearchRequest and IFilterClause.

The example below shows how to query using an AND filter clause and an OR filter clause.

Finds all documents that have been created in the last three months AND those documents whose name contains ".doc" OR ".ppt"
IFilterClause andFilterClause = searchFactory.CreateAndFilterClause();
//add a statement for created in the last three months
DateTime dt = DateTime.Now.AddMonths(-3);
andFilterClause.AddStatement(PlumtreeField.CREATED, Operator.GreaterThan, dt);
 
//make an OR filter clause to say we want ppt files or doc files
IFilterClause orFilterClause = searchFactory.CreateOrFilterClause();
orFilterClause.AddStatement(PlumtreeField.NAME, Operator.Contains, ".ppt");
orFilterClause.AddStatement(PlumtreeField.NAME, Operator.Contains, ".doc");
andFilterClause.AddClause(orFilterClause);
 
searchRequest.SetQuery(andFilterClause);
//note that SetQuery also has an override to take a query and a filter clause.
ISearchRequest Superinterface of IPortalSearchRequest and possibly other search requests, such as Collaboration.
ISearchResponse Interface for search results.
ISearchResult Interface to return information about individual search results.
ISearchResultSet Interface to return an enumeration of IPortalSearchResults.