How You Update Person Search Keywords

Several attributes of person, employment, and profile records are used as person-search keywords. Keyword values are copied automatically from the originating records to the PER_KEYWORDS table, where they're indexed to improve search performance.

Process to Update Person Keywords

An event is raised when the value of a keyword attribute changes, for example, if a person acquires a language skill or a different phone number. In response, services run a process to update the relevant attributes for the person in the PER_KEYWORDS table. Therefore most changes are made in PER_KEYWORDS immediately and automatically. When you create a new person record, keyword values for that person are copied automatically to the PER_KEYWORDS table.

Why You Run the Process

Although most changes to the PER_KEYWORDS table are automatic, you need to run the Update Person Search Keywords process regularly because of these reasons:

  • The automatic process doesn't apply future-dated changes to the PER_KEYWORDS table.

  • The process ensures that all changes are copied to the PER_KEYWORDS table, despite any temporary failures of the automatic process.

When You Don’t Need to Run the Process

Let's say a person’s data is modified from anywhere in the Fusion Apps UI, except from Work Structures or CRM Resource Information. Then the keywords are updated directly and this job isn’t required.

When You Run the Process

Here are some of the scenarios where you run the Update Person Search Keywords process:

  • For a specific Batch ID
    • If post-processing is disabled during HDL load of Workers data, then run the “HCM Data Loader Worker Post processing” job using the specific UCM content ID.
  • For a specific Person
    • Select person name in the Name parameter.
    • For a specific person, the job can be executed as and when required.
    • Estimated Execution Time: approximately 30 seconds to 1 minute.
  • For only Delta population
    • To update keywords for the changed workers and to create keywords for new workers loaded, submit the job with only After Batch Load = Y.
    • Use this option only if the number of person records changed is less than 20,000.
    • Estimated Execution Time: approximately 20 minutes for every 20,000 records.
  • For all the Persons in the system
    • Submit a request with all parameters as null to recreate keywords for all persons in the system.
    • Use this option only if a new language is installed or if the number of person records changed is more than 20,000.

How to Schedule the Process

You can run the Update Person Search Keywords process manually or schedule it to run at regular intervals (for example, weekly at a specified time).

The likely volume and frequency of changes to person records in your enterprise will determine how often you run the process:

  • If the volume and frequency are high, you need to schedule the process to run frequently.

  • If the volume and frequency are low, running the process once a month is recommended.

Running the Update Person Search Keywords process refreshes the whole PER_KEYWORDS table. Therefore, you must run the process at times of low activity to avoid performance issues.

Best Practices for Updating Person Search Keywords

Here are some best practices for updating person search keywords.

Do’s

  • Schedule the process at least once a day during off peak hours to run with parameter After Batch Load = Y to process any changed worker data (delta population) and keep keywords up-to-date.
  • When loading workers by using HDL, enable post-processing to process keywords for the workers that were just loaded.

    If the number of worker records loaded exceeds 20,000, then disable post-processing and manually run the job with all parameters as null, which will process the entire worker population.

  • If you’re running 'Refresh Manager Hierarchy' daily, then set the 'Updated Within the Last N Days' parameter value as 1 for incremental updates. This prevents the delta population size from getting larger than 20,000, which would require the job to be run for the entire person population.

Don’ts

  • Don’t schedule the process to run at frequent intervals with all parameters as null.
    • Running the job with all parameters as null processes all person records in the system, which is unnecessary and can potentially leave the index in an inconsistent state.
    • You must run the job manually with all parameters as null only if the number of worker records for whom keywords should be updated exceeds 20,000.
  • Don’t run or schedule the process with Batch ID values as -100 and -200. These are unsupported values and can cause issues with keyword search.