Skip to content

Semantic search

A query plan has two parts. Its filters handle facts, such as a supplier, an amount, or a date, and compare them with attribute values, not meaning. Its text holds words to search for, such as laptops. Keyword search finds documents that contain those words; semantic search finds documents that mean the same thing, so a search for “laptop replacement” can match “notebook computer refresh”.

PeopleTools 8.63 adds semantic search to PeopleSoft Search, with an upgrade to OpenSearch 3.2. It’s a hybrid search: documents are scored by vector embeddings, which capture meaning, alongside traditional keyword matching. Exact matches still rank well, and meaning adds matches that use other words.

Semantic search is on by default for navigation search, which searches the portal registry through the delivered PTPORTALREGISTRY search definition. There, it can connect a phrase such as “I want to add dependents” to the Dependent/Beneficiary transaction. You can set up your own search definitions to use it too. For the other ways PeopleSoft Search matches words, such as stemming and typo tolerance, see What the search engine adds.

NL Search uses it without doing anything special. The plan’s text goes to the Search Framework as the query text, and when the search definition uses semantic search, PeopleSoft matches it by meaning. The plan’s filters still compare values, so “laptop replacements over $2,000” finds requisitions about notebook computers, but only those over $2,000.

To use it for an intent, set up the search definition behind the intent’s category for semantic search, as Oracle’s documentation for your release describes, and rebuild its index.

Before PeopleTools 8.63, the Search Framework matches the plan’s text by keyword. NL Search still helps in two ways:

  • Filters don’t depend on wording. Most of what users ask, such as suppliers, amounts, dates, and statuses, becomes filters on attribute values, which keyword matching doesn’t affect.
  • Synonyms bridge the words. An intent’s synonyms tell the LLM which word your data uses, so a question about laptops searches for notebook in data that says notebook. See Synonyms.
  • Stemming handles word forms, where it’s turned on, so manage also matches managing.

OpenSearch can host embedding models and build vector indexes itself, so it’s tempting to add a semantic index next to PeopleSoft’s. NL Search deliberately doesn’t:

  • It would be a copy of PeopleSoft data outside PeopleSoft’s search security, which applies to the indexes PeopleSoft builds and queries itself.
  • It would go out of date whenever PeopleSoft rebuilt or changed its own indexes.
  • PeopleSoft now does it itself. From PeopleTools 8.63, semantic matching is part of PeopleSoft’s own search, with its security.

The only embeddings the NL Search Service computes are of the example questions in the Intent Store, to match each question to its intents. They contain no PeopleSoft data.