Understanding PeopleSoft Search Framework

This section discusses:

Click to jump to parent topicPeopleSoft Search Framework Features

In previous PeopleTools releases, search functionality was provided in a non-declarative fashion where search engine indexes were built using custom PeopleCode and Application Engine programs. Each PeopleSoft application used a unique method for creating and maintaining search artifacts like collections and indexes--all of which required search engine-specific calls, commands, syntax, and so on.

The PeopleSoft Search Framework enables application developers and implementation teams, to create search artifacts in a consistent, declarative manner and to deploy and maintain search indexes, using one standard interface, regardless of PeopleSoft application.

The PeopleSoft Search Framework consists of PeopleSoft components (pages and records provided by PeopleTools), which provide a centralized interface for configuring PeopleSoft integration with the search engine, creating search artifacts like search definitions, search categories, and building and maintaining search indexes.

Important! Currently the PeopleSoft Search Framework supports only Oracle Secure Enterprise Search (SES). If you intend to use Verity as your search engine, you cannot use the features of the PeopleSoft Search Framework.

Some of the key features are:

Click to jump to parent topicPeopleSoft Search Framework Verses Verity Search Engine

While PeopleSoft applications continue to support the use of the Verity search engine, the PeopleSoft Search Framework and any of the features based upon the PeopleSoft Search Framework are not available unless you have Oracle Secure Enterprise Search configured for use with PeopleSoft. If you elect not to implement the Search Framework, you may continue to use the Verity search features as they have been delivered and used in previous PeopleTools releases.

Click to jump to parent topicSearch Framework Definitions

The Search Framework is based on these PeopleSoft definitions:

Definition

Description

Search Definition

Created in the Search Framework designer interface, a search definition maps the PeopleSoft Query fields to searchable attributes in the SES search engine. The search definition also enables you to attach security attributes to restrict access to the search results. The search definition provides the information required by the framework to enable the system to create search results (search documents).

Note. A search definition in the PeopleSoft Search Framework becomes a “source” on the SES server, and the system also creates a schedule on SES for that source.

Search Category

Also created in the Search Framework designer interface, search categories enable you to group search definitions logically. A search definition must belong to at least one search category. End users run searches against search categories, not individual search definitions. It is a requirement that at least one search category exists with exactly the same name as the search definition.

Note. A search category in the PeopleSoft Search Framework becomes a “source group” on the SES server.

Click to jump to parent topicSearch Documents

Search documents describe the format of search results. In many cases, search documents are non-structured documents, such as a Microsoft Word document or the text in a website. In a PeopleSoft application, the majority of information is structured, (as in, a Purchase Order). PeopleSoft information resides in a relational database where the document attributes constituting the search document are well known, such as Employee Name, Customer Name, Product ID, and so on.

While most of the PeopleSoft information can be displayed in the form of structured documents, the system also stores unstructured data in the form of attachments. When a user runs a search based on a set of known attributes, the search returns “hits” in the form of search documents, or search results. The user then analyzes the content of the search result to determine relevancy and uses the associated URL to navigate to the desired application page.

The main elements of a PeopleSoft search document are:

Click to jump to parent topicPeopleSoft Search Framework Architecture

The server topology uses the essential elements of the PeopleSoft Internet Architecture, with the addition of SES server.

PeopleSoft server architecture connected to Oracle Secure Enterprise Search using Integration Broker

The web server and application server (the PeopleSoft Internet Architecture) provide the interface for the designer, administrative, and application user. The PeopleSoft database stores the PeopleSoft queries that define the search data as well as the search definition meta data. Oracle Secure Enterprise Search stores the deployed search definitions and performs the typical search engine tasks, such as building indexes, crawling for updates, maintaining indexes, and servicing end-user search requests. The following diagram depicts the relationships between all of the separate elements that are involved with the PeopleSoft Search Framework.

PeopleTools elements interacting with Oracle SES server elements

The following table describes the PeopleTools elements.

PeopleTools Element

Description

PeopleSoft Internet Architecture

Enables access to all aspects of the PeopleSoft Search Framework, including development, administrative, and end user interfaces.

Search Framework Designer

Enables application developers and implementation teams to perform design-time tasks, such as map query fields to search metadata, define search attributes, create search definitions, and create search categories.

Search Metadata

The metadata defined with both PeopleSoft Query and the Search Designer to describe the data that end users will run searches against.

PeopleSoft Query

Connected Query

Provides familiar interface for creating SQL queries that declare exactly the data against which end users will run searches, and takes advantage of Query security.

PeopleSoft Feeds Framework

Enables the incremental updates of indexes by transmitting new and updated search data by way of feeds technology.

Search Framework Administration

Provides the interface for system administrators to perform tasks, such as creating a search instance, deploying search objects, and scheduling search index builds.

Search Framework User Interface

Provides the end user of a PeopleSoft application the appropriate prompts and fields by which they can submit a search request and review results.

Search Query API

A PeopleCode API that enables application developers to form a valid search request from user input.

PeopleSoft Integration Broker

Facilitates the integration between PeopleTools elements and the search engine (SES).

The following table describes the Oracle SES elements.

SES Element

Description

Security Plug-in

This module gets invoked from Search Engine side for a user who initiates a search from an application. Search security framework is responsible for authentication, search user validation and authorization of search query request. Search Engine passes user credentials to PeopleSoft Security Service (Web service) which authorizes the users and get security attribute for that user. Search Results are filtered based on this security attribute. Security Plug-In a part of SES Search Engine and is written in Java. SES comes with built-in plug-ins specifically for PeopleSoft.

There are two security plug-ins: PeopleSoft Identity Plug-in and PeopleSoft Authorization Plug-in. PeopleSoft Identity plug-in is responsible for authenticating search users. PeopleSoft Authorization Plug-in is responsible for getting security attributes for search users and filtering search results based on them.

Crawler Plug-in

Crawler plug-in is part of SES search engine. The Crawler plug-in is responsible for extracting documents for a source and indexing them. The PeopleSoft crawler-plug-in extracts documents from PSQUERY (each returned row is a document). The Crawler plug-in indexes document search attributes like Title, Summary, search fields (fields to index), and so on. It can also index document-level security attributes if document-level security is being used.

Administrative Web Service API

Exposes various SES configuration settings and administrative commands to the PeopleSoft system.

Query Web Service API

Query Plug-in works in conjunction with the PeopleCode Search API for application developers to compose search queries and execute them. Query Plug-in exposes various search features like filtering, sorting, grouping, restricting search scope, pagination, and so on.

Search Engine

Search Framework works with Oracle Secure Search Enterprise, Oracle's search engine software. SES runs against an Oracle database and is installed into Oracle Middleware. The PeopleSoft Application Server integrates with SES using the PeopleSoft Search Framework.

Click to jump to parent topicImplementation Process Flow

The following diagram illustrates the general process flow when implementing the PeopleSoft Search Framework and deploying search definitions. You first identify the business data you want to expose to text searches and create queries using PeopleSoft Query that select the appropriate data from your transaction tables. In the Search Designer you map the query fields to the search metadata attributes and map the search definition to a search category. In the Search Administration interface you deploy the search definitions and categories, schedule index builds, and schedule index crawling so that the index can be updated as needed to reflect the current business data.

Search Framework implementation, beginning with PeopleSoft Query and Connected Query, moving to the Search Designer for creating search definitions and categories, then moving to Search Administration for deploying search definitions and defining index builds.

Click to jump to parent topicPeopleSoft Search Features

Once Search Framework is configured and search definitions have been deployed and tested, you can enable these PeopleSoft Search features for your end users:

Click to jump to top of pageClick to jump to parent topicApplication Search

With Application Search enabled, the Application Search bar displays in the header of the application. Beside the keyword edit box, the Application Search bar provides a dropdown list for selecting a specific search category against which to run a search.

Click to jump to top of pageClick to jump to parent topicSearch Pages

If you’ve enabled the Search Pages features for Search Framework by mapping a component to a search definition, the Keyword Search tab appears amongst the search pages the end user encounters when navigating into a component. The Keyword Search page enables users to execute a deeper, more free-form search to access application data. For example, the Find an Existing Value tab is limited to level 0 data, where the Keyword Search tab lets the users enter custom keywords and the system will search indexed data from level 0-3.

Note. The Find and Existing Value search page is equivalent to the component search pages in previous versions of PeopleSoft applications.