Setting Up and Maintaining the Search Framework and Resource Matching Cache Tables

This topic provides overviews of cache administration processes, Resource Matching work tables, the Search Framework, and search index automatic update processes.

Page Name

Definition Name

Usage

Search Framework Settings Page

RS_SEARCH_CONFIG

Configure parameters for the Search Framework.

Factor Weights Page

RS_SRCH_FACT_WGHT

Define the relative importance of each factor within its family.

Cache Administration - Miscellaneous Page

RS_CACHE_MISC

Specify processes to refresh cache tables and create search indexes.

Cache Administration - Maintain Search Index Page

RS_SRCH_INDEX

Capture the parameters needed to create the search indexes.

Cache Administration - Summary Page

RS_CACHE_SUMMARY

Confirm the list of processes that you want to run or schedule for the future.

Search Index Agent Manager Page

FO_AGENT_MGR

View, start, and stop agent processes.

The Cache Administration Application Engine program (RS_CACHE_AD) manages the execution of cache and maintenance processes that are required periodically in PeopleSoft Resource Management. The cache processes update cache tables that are used by various PeopleSoft Resource Management activities such as fulfilling service orders, managing resource utilization, and capacity planning. The maintenance processes purge unnecessary data from the system such as obsolete resource schedules.

You can select processes and—using PeopleSoft Process Scheduler—run them immediately or schedule them to run at intervals during a time when system usage is low. You can run processes individually or they can be logically run in batch, such as by required interval.

Cache administration does not include processes that are typically required only at implementation (such as a process to load holidays) or as part of a normal business process (such as a process to create resources in batch).

Resource Matching uses temporary work tables when calculating availability factor fit scores and retrieving search results. To maintain optimal system performance you must routinely clear the tables of unnecessary data as part of your database maintenance procedure.

Search Framework is used to search structured and unstructured data. Search Framework quickly calculates qualifications and preferences fit scores for each resource. PeopleSoft uses the Search Framework for these purposes:

  • Resource Matching uses Search Framework to determine a resource's fit for a resource request for the all the factors except the Availability factor.

  • The Express Search features uses the Search Framework to determine which resources meet the specified qualifications and keywords criteria and calculate a fit score.

The Search Framework is separate from the database. The indexing process is a snapshot of the database at one point in time and does not remain synchronized with the data stored in the database unless you routinely update the index. The system logs changes to resource requests and resource profiles in the Resource Management Log table (RS_SRCH_LOG). When the Create Search Index Application Engine program (RS_SRCH_INDX) runs, it updates the search index with the changes in the Resource Management Log table. Alternatively, you can create a new search index with current database information.

Use the Search Framework searching capabilities that are delivered with PeopleSoft Financials. If you do not use the Search Framework searching capabilities, PeopleSoft Resource Management cannot calculate fit scores for resources, find the best resources for resource requests, find the best requests to fit resources.

How PeopleSoft Resource Management Creates the Search Index

The PeopleSoft product delivers a standard searching template for these search types. However, PeopleSoft Resource Management customers must define their own search criteria for their organization as part of the implementation process. To optimize searching capabilities and performance, the system extracts data from PeopleSoft Resource Management records via PS Query and places the data into an XML file. The XML file is sent to the Search Framework server for indexing.

The system can also extract information from electronic attachments such as resource resumes. However, the creation of search indexes may be slower when electronic documents are processed. To optimize performance when resume searches are needed, PeopleSoft Resource Management provides a field in the Applicant and Employee components into which users can paste resume ASCII text. Using this method (instead of electronic attachments) reduces search index creation time. Even if users paste their resumes this way, they can still attach electronic resumes to the applicant and employee records to present them to customers.

The Search Index Creation process (PTSF_GENFEED) captures search definitions and generates the appropriate index files (XML). The system applies a key to the templates according to a Key field (SRCH_TYPE_CD). This key is used to identify the correct index files for the Search Framework.

When configuring the search types, you need to define the following attributes:

  • The availability algorithm to be used

  • Factor weights

  • The list of configurable fields and settings used in the search type

Note: You can define factor weights as part of the search configuration and factor family weights in the actual search pages.

Reverse Searching

Job Spy and Manage Utilization is a reverse search. Reverse searching consists of searching orders, customers, and contacts that would be a good match for a particular resource.

Forward Searching

Express Search and Fulfill Orders are forward search. Forward searches consist of searching resources that meet certain criteria, such as required job order and desired qualifications. Forward searches calculate both the resource qualification and preference scores. These searches can also provide resource availability information.

The choice of availability algorithm is defined in the search type configuration. For an availability algorithm to be used with a search type, the resource calendar must be current.

For additional information about PeopleSoft Search, see PeopleSoft Application Fundamentals, PeopleSoft Search for Financial and Supply Chain Management

Distance Searches

To enable the Distance Search feature, a developer must populate the geocode table to map each postal code to its latitude and longitude.

Developer Guidelines:

  1. Locate files containing postal codes, cities, states, latitude, and longitude for the countries to which your organization operates and download them. Many web sites offer these files for free or a small fee. You can also subscribe to a geocoder web service and create your own geocoded files. The key is to create a file containing postal code, city, state, country, latitude, and longitude in a CSV (spreadsheet) format.

  2. Modify the file layout and AE process to populate the geocode table

    1. Modify the file layout RS_GEOCODE_CITY in Application Designer to match the layout and location of the file created in step one.

    2. Open the RS_GEOCODE AE process in Application Designer

    3. Change the input file name and path to match the file downloaded from the internet

    4. Run the process to read the input file and insert the data into the RS_GEOCODE_CITY table.

Normally this only needs to run one time because city locations don’t normally change. It may be necessary to download and import a new file when new cities or postal codes are added to the geocode databases. The RS_GEOCODE_CITY table serves as input to the Search Framework index building processes as well as the location prompt tables.

Prerequisites

To use the Search Framework, you must:

  • Establish and maintain the search index by running the Cache Administration program to create or update an index of competencies, accomplishments, work experience, and default resume-attachment information for each eligible resource.

    There are two types of searches you establish: forward, which is used for Express Search, Staffing Workbench - Fulfill Orders, and Pool Manager Workbench; and reverse, which is used for Staffing Workbench - Manage Utilization and Job Spy.

  • Configure the Application server and Process Scheduler.

  • Install and configure the Search Framework. Configure the Search Framework to connect to the Search server.

PeopleSoft Resource Management provides two Application Engine processes that work together to monitor data changes and automatically trigger the Create Search Index program to update the search index:

  • The Search Index Agent Application Engine process (FO_SRC_AGENT), known as the agent process.

  • The Automatic Agent Monitoring Application Engine process (FO_AGENT_DMN), known as the daemon process.

Note: This section discusses one option for maintaining the search index. Alternatively, you can use the Maintain Search Index page to create or update the index, independent of the Search Index Agent and Automatic Agent Monitoring processes.

The Agent Process

Agent processes monitor data changes and determine the best time to trigger the Create Search Index program to update the search index. You enable agents for PeopleSoft Resource Management search types (RSFSR and RSRSR) on the Search Settings page. The system creates one agent for each search type that you enable on the Search Settings page.

The Search Index Agent process has no run control page. The agent creates a run control ID for the Create Search Index program when it triggers the process. The run control ID is a concatenation of the search type code and language code. If this run control ID already exists when the agent starts, the system deletes the existing run control and creates a new one by using the same run control ID and the updated run control options. The agent uses the same process instance ID as the Create Search Index program that it triggers. If the Create Search Index program fails, the agent process also fails.

Administrators use the Search Index Agent Manager page to view the status of agent processes, and start and stop agent processes. Agent processes can be in a status of:

  • Running (RUN)

  • Starting (STAR)

  • Stopping (STOP)

  • Stopped (END)

  • Time Out (TOUT)

The Daemon Process

The daemon process monitors the status of the agents, and cancels and reschedules any inactive processes. An inactive agent process is one that does not have an end status but has shown no activity for a period of two sleep intervals plus two minutes. The sleep interval is defined in seconds in the Sleep Interval (secs) field on the Search Settings page.

Process Flow

This diagram shows the relationship between the Automatic Agent Monitoring, Search Index Agent, and Create Search Index processes:

This diagram shows the relationship between the Automatic Agent Monitoring, Search Index Agent, and Create Search Index processes:

SES search index automatic update process flow

Prerequisites

To use the search index automatic update processes, administrators must:

  • Configure the Process Scheduler to run enough process types and processes simultaneously to cover the needs of all server agents and any other Application Engine processing requirements.

  • Set up the daemon group in PeopleTools and associate the group to the appropriate Process Scheduler definition.

    Note: Oracle recommends that you configure the Automatic Agent Monitoring process on the same Process Scheduler as the Search Index Agent process and Create Search Index program. This prevents the Automatic Agent Monitoring process from trying to trigger the Search Index Agent process if the Process Scheduler is down.

See PeopleTools : PeopleSoft Process Scheduler, "Setting Server Definitions," Defining Daemon Groups.

Use the Search Settings page (RS_SEARCH_CONFIG) to configure parameters for the Search Framework.

Navigation:

Set Up Financials/Supply Chain > Common Definitions > Resource Search > Search Configuration > Search Settings

This example illustrates the fields and controls on the Search Setting Page. You can find definitions for the fields and controls later on this page.

SES Setting Page

Field or Control

Description

Search Type

Displays the type of search that you selected on the Search Configuration search page:

  • RSFSR (Express Search/Fulfill Orders)

    This search type is also used for Pool Manager Workbench searches.

  • RSRSR (Job Spy and Manage Utilization)

Performance Settings

Field or Control

Description

Buffer Resultset Size (in rows)

Enter a value that determines the size of the result set.

The buffer result set size determines the number of documents that Search Framework will fetch during each search. This result set may differ from the actual result set shown on the page. The primary reason for this is because the availability calculation occurs after the search is complete, and this calculation occurs only for the items that Search Framework returns. Therefore, if you specify a large buffer result set size, you have less of a possibility of missing an item in the result set that is more available than other items in the result set that appear on the page. The disadvantage of increasing the buffer result set size is that the system will calculate availability on more items, which can adversely affect system performance. PeopleSoft Resource Management delivers default values of 500 for the forward search and 300 for the reverse search. You determine the correct balance between accuracy and performance based on the needs of your organization.

Note: You must also set the Maximum Number of Results in the Oracle Search Framework Administration Console. It should be larger than the maximum search result set desired on the search pages and greater than the largest Buffer Result set Size in the Search Configuration component.

Search Agent Processing

Field or Control

Description

Enable Agent

Select to enable the Search Index Agent process for this search type. When you select this option, a row appears on the Search Agent Index Manager page that enables you to stop and start the agent. The default value is deselected.

You enable a separate agent for each search type.

The remaining fields in the group box are required if you select the Enable Agent option.

Field or Control

Description

Sleep Interval (secs)

Enter the frequency with which the Search Index Agent process checks for updates in the Resource Management Log table (RS_SRCH_LOG).

Language Code

All Languages: Select for the Create Search Index program to update all installed languages on each run. This option appears only if you installed multiple languages.

Select a specific language for the Create Search Index program to update only one language. Only installed languages are available for selection.

Warning! If you installed multiple languages and only select one language in this field for the Create Search Index program to update, the search data for all other languages will be outdated in the system until the next time that you create the full index. This is because the Resource Management Log table is cleared of all previous changes each time the Create Search Index program runs.

Minimum Row Threshold (rows)

Enter the minimum number of rows needed to trigger the Create Search Index program.

Maximum Number of Services

Enter the maximum number of times that the agent will cycle through the sleep interval before rescheduling itself and then shutting itself down. The agent increments a counter (SVC_COUNTER) by one every time that it completes an interval. When the counter is equal to the value that you specify in this field, the agent schedules itself to start again, and then ends the current process.

Maximum Wait Tolerance (secs)

Enter the maximum amount of time that a row of data waits before it is updated in the Search Framework collection by the Create Search Index program.

All of the fields in the Search Agent Processing group box are disabled when the agent is in a status of Running, Stopping, or Starting. If the agent fails or is canceled, the fields remain disabled until an administrator accesses the Search Index Agent Manager page to change the run status to Time Out. The fields in this group box are available when the run status is Time Out

Use the Factor Weights page (RS_SRCH_FACT_WGHT) to define the relative importance of each factor within its family.

Navigation:

Set Up Financials/Supply Chain > Common Definitions > Resource Search > Search Configuration > Factor Weights

This example illustrates the fields and controls on the Factor Weights page. You can find definitions for the fields and controls later on this page.

Factor Weights page

Field or Control

Description

Preferences and Qualifications

Enter the relative importance of each individual factor in the Resource Matching calculation of the Preference and Qualifications factor family fit scores. Available values are:

0 - Not at all important

1 - Much less important

2 - Less important

3 - Important

4 - More important

5 - Much more important

Use the Cache Administration - Miscellaneous page ( RS_CACHE_MISC) to specify processes to refresh cache tables

Navigation:

Set Up Financials/Supply Chain > Common Definitions > Resource Search > Cache Administration > Miscellaneous

This example illustrates the fields and controls on the Cache Administration — Miscellaneous Page. You can find definitions for the fields and controls later on this page.

Cache Administration - Miscellaneous Page

Field or Control

Description

Refresh Resource Organizational Unit Cache

Select to update the Resource Organizational Unit Cache table (RS_WORKER_ORG) that stores organization information from the specified organization tree. The program is required when:

  • Implementation occurs.

  • Resources are created individually using the Establish Employee As Resource component (RS_WRKR_CREATE).

  • Resources are created in batch by using the Create Resources process.

  • A node or detail value changes on the organization tree.

  • A new organization tree is implemented.

  • A resource's organization unit value changes, such as the resource's department.

Run this program nightly.

Update Assignment Calendar

This check box is available only if the Synchronous Calendar Update check box is not selected in the Resource Management Installation page.

Select this option to invoke the calendar update process (RS_APPTUPD). This creates or updates the calendar entries for all the assignments in Assigned, Pending Approval and Reserved status for which the calendar entries were not created or updated.

Refresh Resource Schedule Cache

Select to update the Resource Schedule Cache table (RS_DF_WRKR_DATE) that is used to track a resource's schedule. The program purges old availability date and ineligible resource data.

This program runs automatically for a resource when the resource's schedule changes. Run the program manually for all resources as required. It is required when:

  • Implementation occurs.

  • Standard hours change on the Update Employee page.

  • New holidays are added to the holiday schedule and loaded by using the Holiday Load Application Engine process (RS_HOLIDAY).

Note: There is an effect on resource calendars and availability if you change the Do not schedule assignments on Holidays installation option. After you change this option, you must run these two processes in this order: Holiday Load process and Cache Administration - Refresh Resource Schedule Cache.

Refresh Current Eligible Resources

Select to update the Eligible Resource Cache table (RS_ELGBL_WRKR) with current eligible resource information. In addition to tracking the current, eligible resources, the table stores the resource's job-related information such as job code, location, and bill rate. The program is required when:

  • Routine changes are made to a resource's job-related information.

  • Resources are created in batch by using the Create Resources Application Engine process (RS_CW).

Run this program nightly and as required.

Maintain Employee Data Cache

This field does not apply to PeopleSoft Resource Management.

Refresh Supply/Demand Cache

Select to update the cache tables for both supply and demand. The system triggers a message to update the Supply Cache table (RS_SUP_CACH) when you establish employees as resources and add them to resource pools in PeopleSoft Resource Management, and when resources are removed or inactivated. You must update the Demand Cache table (RS_DMD_CACH) when new generic resource requests are created and when new resource assignments are created in PeopleSoft Program Management.

Note: Application messages automatically update the resource supply and project demand information in near real time. The application messages are delivered inactive. You must activate the message to update the cache tables at run time. The messages are RS_DMD_CACHE_SYNC and RS_SUP_CACH_SYNC.

Refresh Supply Category Analytics Cache

Select to update the RS_POOLRES_DATE and RS_GENRES_TMP cache tables for supply category analytics for all resources.

Update Assignment Completion

Select to automatically complete or cancel all resource assignments with an end date prior to the date the process is run. The system will also add the processed assignments to the resource history list.

Note: All resource assignments with an Active status will be set to Complete. All resource assignments with a status of Interview, Propose, Reserve or Pending Approval will be set to Cancel.

Save

Click to save the run control, or select Miscellaneous, or Summary to access other Cache Administration pages.

Use the Cache Administration - Maintain Search Index page (RS_SRCH_INDEX) to capture the parameters needed to create the search index files.

Navigation:

Set Up Financials/Supply Chain > Common Definitions > Resource Search > Cache Administration > Maintain Search Index

This example illustrates the fields and controls on the Cache Administration - Maintain Search Index page . You can find definitions for the fields and controls later on this page.

Cache Administration - Maintain Search Index page

Process Selection

Field or Control

Description

Maintain Search Index

Select to create, update the search index as part of this Cache Administration run control.

Note: Optimize Indexes feature has been removed from the Maintain Search Index page. It is now maintained centrally within the Search Framework. See the product documentation for PeopleTools: Search TechnologyAdministering PeopleSoft Search Framework, Administering Search Definitions and Search Categories.

Indexing Options

Field or Control

Description

Create New

Select this option and run the process as often as you want to refresh the search index with current database information. This option deletes the existing index and creates a new one. Use this option to routinely replace the search index.

Update Existing

Select to update the existing index without deleting it by inserting new documents and updating documents that changed since the last time the update process ran.

Note: This page provides one option for scheduling search index updates. Alternatively, you can enable the Search Index Agent process to monitor data changes and automatically trigger the Create Search Index program to update the search index.

Index Language

Specify whether the index should be created for all installed languages or a base language.

Field or Control

Description

All Installed Languages

Select to create a collection for each installed language.

Base Language

Select to specify just the base language

Warning! If you installed multiple languages and only select base language for the Create Search Index program to update, the search data for all other languages will be outdated in the system until the next time that you create the full index. This is because the Resource Management Log table is cleared of all previous changes each time the Create Search Index program runs.

Index

Field or Control

Description

Search Type

Enter a search type of Express Search/Fulfill Orders or Job Spy and Manage Utilization to create an index for searches in PeopleSoft Resource Management.

Note: Before you can run the Cache Administration process you must first deploy the search definition corresponding to the search type selected. Use the Deploy Search Definition page to deploy the search definition to the Search server. The search definition must be deployed before building the index for the first time. Navigation - PeopleTools, Search Framework, Administration, Deploy/Delete Object.

Save

Click Save to save the run control, or select Miscellaneous, or Summary to access other Cache Administration pages.

The length of time it takes to update the index depends on the number of active resources and language translations that are processed.

Use the Cache Administration - Summary page (RS_CACHE_SUMMARY) to confirm the list of processes that you want to run or schedule for the future.

Navigation:

Set Up Financials/Supply Chain > Common Definitions > Resource Search > Cache Administration > Summary

This example illustrates the fields and controls on the Cache Administration – Summary page. You can find definitions for the fields and controls later on this page.

Cache Administration - Summary page

Field or Control

Description

Run

Click to save the run control and proceed to the Process Scheduler Request page to run the program or schedule it to run later.

Save

Click to save the run control but not run the program.

Process Monitor

Click to review the status of the process scheduler job.

Use the Search Index Agent Manager page (FO_AGENT_MGR) to view, start, and stop agent processes.

Navigation:

Setup Financials/Supply Chain > Common Definitions > Resource Search > Search Index Agent Manager

This example illustrates the fields and controls on the Search Index Agent Manager page. You can find definitions for the fields and controls later on this page.

Search Index Agent Manager page

Field or Control

Description

Run Status

Displays the agent run status of Error, Running, Starting, Stopping, Stopped, or Time Out.

Process Instance

Displays the process instance ID of the running agent process. This same process instance ID is used by the Create Search Index program that is invoked by the agent.

When you click the Start button to start the agent, and the previous run status is Time Out, the agent cancels the previous process instance ID and assigns a new one.

Last Run On

Displays the last time that the agent triggered the Create Search Index program.

Last Activity

Displays the last time that the agent checked the Resource Management Log table to determine if any action was necessary.

Start

Click to start the agent and create a new process instance ID if the previous run status was Time Out.

Stop

Click to stop the agent. This button is disabled if the run status is Stop or Time Out.

Refresh

Click to trigger the Search Index Agent process to:

  • Refresh the data on the page.

  • Determine the amount of time since the last activity.

    If the agent's run status is Run, Start, or Stop, and the last activity is earlier than 120 seconds plus a sleep interval (as defined on the Search Framework Settings page), the agent's run status changes to Time Out.

Warning! Do not manually change the run control record for the Create Search Index program while the Search Index Agent process is running. Doing so will result in inconsistent search data because the Create Index Agent process will update different data than is specified for the agent.