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 and later
Section titled “PeopleTools 8.63 and later”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.
Earlier releases
Section titled “Earlier releases”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
synonymstell 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.
Why the service keeps no vector index
Section titled “Why the service keeps no vector index”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.
