This appendix describes the search engine in detail, including setup impact on searching.
This appendix covers the following topics:
Standard (or quick) search
Expanded search
Advanced search
For standard and advanced search, the search engine returns items that exactly match the keyword. For example, searching for AB does not return item number AB22ZL. Searching for pen does not return pens. You must use wildcard characters (such as AB%) to perform a partial match.
Searching is case insensitive. For example, entering ab22zl in the Search field finds AB22ZL.
You can also filter and sort search results, and view categories and shopping lists that match your search criteria.
When you enter keywords in a store's Search field and click Go, you are using standard search, also known as quick search.
You can perform a standard search from the Shop home page. My Favorite Store from the requester's preferences defaults in the menu next to the search field. The requester can select a different store from the menu and search it directly, or click a store.
The following figure shows how the Shop Store page appears after you click a store's link on the Shop home page.
In a standard search, each keyword must be found to determine a match. For example, entering blue ballpoint pen finds items containing blue and ballpoint and pen (in any order). No stemming is performed.
You may optionally expand a search by clicking "Look for any of the words, similar words, or spelling variations" at the bottom of the Search Results page.
Expanded search performs the following steps concurrently:
The search engine looks for records that match one or more of your keyword(s). The search engine also uses stemming to return any record containing at least one of the search terms or stem derivatives.
The search engine appends a wildcard to the end of each keyword(s). For example, the search engine converts lead pen to lead% pen% and returns leaded pencils.
The search engine looks for records that closely resemble your item, but are spelled differently. For example, for telefone, the search engine returns telephone.
Note: When you use wildcards (% or *) in a keyword, stemming, begins with, and fuzzy logic are not applied.
An "Advanced Search" link appears next to the search field. On the Advanced Search page, you can perform an advanced search on any store that does not contain a transparent punchout catalog, does not contain only a punchout catalog, or does not contain only an informational catalog.
When you click Advanced Search, the Advanced Search page appears allowing you to further refine your search.
The first four fields on the Advanced Search page always display:
Store
Description (item description, not long description)
Supplier Item
Supplier
Advanced searching allows requesters to add the following fields using the Add Another drop-down menu:
Description (item description, not long description)
Supplier Item
Supplier
Category
Manufacturer
Manufacturer Item
Unit Price
Unit
Currency
Internal Part Number
Supplier Part Auxiliary ID
Lead Time
UNSPSC Code
Note: You cannot customize the Advanced Search page using Oracle Applications Framework.
If you enter advanced search criteria in more than one field, the system performs an and search. For example, if you enter laserjet printer for Description, Acme for Manufacturer, between 500 and 1,000 for Unit Price, and USD for Currency, the search engine looks only for laserjet printers made by Acme costing between 500 and 1,000 USD.
If you search on the same criteria in more than one field, the search engine also performs an and search between the two fields. In the following example, you use two Description fields, the provided Description and a Description field you add. The table shows the results, depending on the qualifier you select from the pull-down menu:
First Description | Second Description | Result |
---|---|---|
with all of the words tape dispenser |
with the exact phrase office supplies |
Finds items containing tape and dispenser and office supplies |
with at least one of the words tape dispenser |
with the exact phrase office supplies |
Finds items containing tape or dispenser and office supplies |
Advanced search uses the following qualifiers:
with all of the words performs an and search. (The words don't have to occur together.)
with at least one of the words performs an or search.
without the words excludes the keywords. In the following example, the search engine finds all pens not manufactured by Acme (specifically, items with pen in the Description, without Acme as the Manufacturer):
Description: with all of the words: pen
Manufacturer: without the words: Acme
with the exact phrase looks for the same keywords, together, in that order.
is between, is greater than, is, and is less than are used by Unit Price. For example, is between 500 and 1,000 looks for an item costing more than 500 and less than 1,000. (Select a Currency to avoid displaying prices in all currencies between 500 and 1,000.) The qualifier is performs an exact match. For example, entering 1.21 finds items that cost 1.21, not 1 or .21 or .1.2134. The system looks for the transaction (supplier's) price and currency.
Advanced searching does not use stemming.
The following examples give an idea of how items in the local catalog display in the search results depending on how they were defined.
In the following example, two items display in the search results because the supplier item number differs between them:
Source | Supplier | Supplier Item | Item | Operating Unit | Price | UOM |
---|---|---|---|---|---|---|
Blanket Purchase Agreement 1234 | Acme | 3255156 | 15225 | Vision Operations | 1.75 | EA |
Blanket Purchase Agreement 1234 | Acme | 3255157 | 15225 | Vision Operations | 15.25 | BOX |
In the following example, two items display in the search results, each with its own price based on the supplier site given:
Source | Supplier | Supplier Item | Item | Operating Unit | Price | Supplier Site |
---|---|---|---|---|---|---|
Blanket Purchase Agreement 1234 | Acme | CS1234 | (none) | Vision Operations | 11.99 | San Francisco |
Blanket Purchase Agreement 1234 | Acme | CS1234 | (none) | Vision Operations | 9.99 | New York |
Oracle Services Procurement items that have fixed-price services line types can display an editable Amount instead of a Quantity in the search results. These kinds of items exist if you have licensed and implemented Oracle Services Procurement, and you have added these items (on blanket agreements or requisition templates) to the catalog.
The figure above shows a fixed price service item with an editable Amount of 500 USD, instead of a Quantity.
Note: The requester can edit the Amount only if the Price Override option is selected on the blanket agreement. If it is not selected, then the Amount is a display-only field in the search results.
When using schema editing to control whether a descriptor is search results visible, note that the Unit Price, Currency, Functional Currency Price, and Currency descriptors control how the Amount is displayed, just as they control how the Unit Price is displayed. The following table illustrates the results, depending on how the Search Results Visible descriptor property is set:
Functional Currency Price and Currency | Unit Price and Currency | Fixed Price Service Displayed in Search Results * | Quantity-Based Item Displayed in Search Results |
---|---|---|---|
Search Results Visible | Search Results Visible | Amount: 10.00 USD / 13.00 EUR | Price: 10.00 USD / 13.00 EUR |
Search Results Visible | Not Search Results Visible | Amount: 10.00 USD | Price: 10.00 USD |
Not Search Results Visible | Search Results Visible | Amount: 13.00 EUR | Price: 13.00 EUR |
Not Search Results Visible | Not Search Results Visible | Amount does not display | Price does not display |
* The Functional Currency Price and Currency for a fixed price service display as shown in this table only if Allow Price Override is not selected on the blanket agreement that contains the fixed price service. If Allow Price Override is selected, then the Functional Currency Price and Currency never display, even if set to be Search Results Visible. Instead, the Unit Price (Amount) displays in the transaction Currency (as shown in the figure above) - even if it is not set to be search results visible - and the requester can change this amount.
For more information on the Search Results Visible descriptor property, see Search Configuration.
After performing a search, the search engine provides a Related Links box on the search results page. The Related Links box appears only on the Search Results page for local catalogs. The Related Links box contains matching categories and a link to see matching shopping lists.
The purpose of the Related Links is to let requesters browse categories and shopping lists that contain the items in their search results. These categories and shopping lists may contain items that did not match the requester's search, but that are related. For example, a requester searches for pen. If the category Glues contains the item refillable glue pen, then Glues appears as a related category. Not all items in the Glues category have pen in their description.
Related categories contain items that match the search criteria. On the Search Results page, the requester can select a related category (and its subcategories if any) to see all matching items in that category.
After search results are returned, requesters can further refine the results using the filtering option. Filtering allows the requester to limit the results set for the selected filtering criteria. For example, if you only want to see items from the suppliers Acme and Acme Supplier, choose to filter by Acme and Acme Supplier. All suppliers other than Acme and Acme Supplier are eliminated from the search results.
Any descriptor that is set up as search results visible can be selected as filterable criteria, except for the following descriptors:
Unit Price
Functional Price
Description
Long Description
Image
Thumbnail Image
Comments
Attachment URL
Supplier URL
Manufacturer URL
Functional Currency
Lead Time
Item Revision
Similar to filtering, requesters can also sort the search results. For example, a requester searches for printer paper, and a large number of search results is returned. The requester can sort by Unit Price (Ascending) to view the least expensive supplies first. Most options sort alphabetically. Options like Unit Price sort numerically. Words enclosed in quotation marks and numeric characters are listed first. (Alphabetic sorting does not apply to all languages, such as Chinese.) Sorting by relevance is an additional sorting option. See Relevance Ranking.
Note: If you have licensed and implemented Oracle Services Procurement, then sorting by Unit Price also sorts by Amount, for services items. (If the requester enters an Amount in the search results, and then performs sorting, the requester-entered Amount is ignored. The sorting goes off the default Amount.)
Any descriptor that is set up as search results visible can be selected as a Sort By option, except for the following descriptors:
Thumbnail Image
Attachment URL
Supplier URL
Manufacturer URL
Image
Functional Currency
Currency
See Search Configuration for more information on search results visible descriptors.
Note: Local descriptors (descriptors, such as Ink Color, that are defined only for a specific category, such as Pens) that are search results visible are sortable and filterable only if you find the items by browsing a category or by selecting a category in advanced searching.
Local content zones perform standard, expanded, and advanced searching as described earlier.
A transparent punchout sends the keywords the requester enters to the external site. The external search engine conducts the search and returns the matching results to the Search Results page.
Punchout and informational content zones use keywords defined during their setup to find matching items. When setting up a punchout or informational content zone, you associate keywords with the content zone that, when entered as search criteria, display a link to the content zone on the Search Results page.
For more details on punchout and transparent punchout, see the Oracle Procurement Buyer's Guide to Punchout and Transparent Punchout. For more details on informational content zones, see the online Help in iProcurement Catalog Administration.
Unlike local content zone searching, transparent punchout searching does not support the following features:
Filter search results
Add to favorites list
Perform expanded search
Perform advanced search
Browse categories
In transparent punchout search results, you can sort by Price only.
Standard and advanced searching allows some special (non-alphanumeric) characters, as described below.
The search engine supports the following search operators, both wildcards:
%
*
You can use a wildcard (either the % or the *) in the middle of or after your search characters. For example, a search on o% returns Oracle and Open Markets Inc. and a search on op% returns Open Markets Inc.
You can use a wildcard at the beginning of your search characters (for example, *shop), but it slows search performance.
Non-alphanumeric characters in Class II are indexed in the database and can be searched. The following is a list of Class II non-alphanumeric characters:
Hyphen (-)
Underscore (_)
For example, if the requester searches for item-123 test, the search engine looks for items that contain both item-123 and test.
Note: Keywords with hyphens or underscores are treated as whole words. In the example above, a search on item does not find item-123. To search part of a word, use wildcards.
Class III non-alphanumeric characters are not indexed and are not searchable. If these characters appear in the search criteria, they are ignored and treated as white spaces. For example, if the requester searches for red, white & blue, the search engine ignores the comma (,) and ampersand (&), and looks for items that contain all the terms red and white and blue.
See Technical Details for further discussion.
Schema editing and profile options affect searching.
Searching is greatly influenced by schema editing. You can use schema editing to determine whether descriptors are searchable or whether they appear on the Search Results Summary and Search Results pages. A descriptor that is not searchable is ignored by the search engine. A descriptor that is not search results visible is not displayed on the Search Results Summary and Search Results pages.
See Default Base Descriptors in Appendix C for a list of the default base descriptors and their default searchable and search results visible property settings.
Note: Use careful judgment when deciding which descriptors to make searchable:
The more descriptors you make searchable, the longer it takes to perform a search.
If you make long values like Long Description searchable, the accuracy of the search is diluted. For example, a requester enters a search for computer battery. If Long Description is searchable, an item with the following Long Description would be included in the search results: This adapter works with the X Series notebook computer and can be used with or without a battery.
If you set a descriptor as searchable, but do not make it either search results visible or item details visible, requesters may not understand why an item was included in their search results.
After the following descriptors, only the first 11 search results visible descriptors in the sequence display in the search results, for space considerations: Thumbnail Image, Description, Long Description, Unit, Unit Price, Currency, Functional Currency Price, and Functional Currency.
For instructions on using the catalog loader to create descriptors, see Appendix C. For instructions on creating or updating descriptors online in the eContent Manager, see the online Help in the eContent Manager.
The Advanced Search page's list of searchable descriptors is not affected by the schema editor. For example, if you set Manufacturer to be not searchable, it still displays as a searchable descriptor (field) on the Advanced Search page.
Although the Advanced Search page is not integrated with the schema editor in this way, setting the following descriptors to be not searchable will present an error message. If any of the following descriptors are set to be not searchable, they still display on the Advanced Search page, but requesters will see an error message when selecting the descriptor, saying they cannot search on it:
Description
Supplier Item
Lead Time
Price
Manufacturer
Manufacturer Item
UNSPSC Code
Supplier Part Auxiliary ID
Internal Part Number
The following profile options are key influencers to search behavior. For descriptions, see Set Profile Options.
POR: Catalog Result Set Size
POR: Enable Advanced Search and Category Browse
PO: Legal Requisition Type
POR: Display Shopping Category Count
POR: Search Results Skin
POR: Default Shopping Sort
POR: Default Shopping Sort Order
POR: Show Thumbnail Images
POR: Thumbnail Height
POR: Thumbnail Width
POR: Change Catalog Language
POR: Transparent Punchout Timeout Limit (affects transparent punchout search results only)
The profile option PO: Legal Requisition Type affects whether requesters see only external supplier items, only internal items, or both.
Relevance ranking is performed during standard, expanded, and advanced searching under either of two conditions:
The POR: Default Shopping Sort profile option is set to Relevance (to always apply relevance ranking to the search results).
The requester chooses Sort by Relevance for a specific set of search results (only possible in the Paragraph search skin).
The algorithm for the relevance calculation is complex, using scoring to rank the results. At a high level, relevance ranking does the following:
First, how many search keywords does the item contain? An item that includes more search keywords is considered more relevant than an item that includes fewer search keywords. For example, the requester searches for blue ballpoint pen. Item 1 contains both ballpoint and pen in its searchable descriptors. Item 2 contains only blue in its searchable descriptors. Item 1 has a higher relevance score than Item 2.
Second, how frequently do the search keywords appear in the searchable descriptors in the entire catalog? An item that contains less frequently found search keywords is considered more relevant than an item that contains more commonly found search keywords. For example, assume the search keyword blue appears in 500 items, and the search keyword pen appears in only 100 items. Item 1 contains the search key word pen and Item 2 contains the search keyword blue. All else being equal, Item 1 has a higher relevance score than Item 2.
Note: Relevance ranking has a bigger impact on expanded searching than standard searching. Since all keywords appear in standard search results, the results aren't well differentiated by relevance, especially the first relevance algorithm described above. You can still perform relevance ranking on the standard search results, but the ranking is not as obvious as it may be in expanded search results.
Oracle iProcurement leverages the powerful technology of Oracle interMedia to store, manage, search, and access text with relational data using standard SQL and powerful text-based retrieval.
The Oracle iProcurement search engine converts the search text entered by the requester into a query expression to be used in an interMedia CONTAINS query. Depending on the search, the appropriate CONTAINS query is used.
The search words are formed by splitting the search text with spaces. For example, when the requester searches for ball point pen, the search words are ball and point and pen.
Any interMedia reserved characters in the search words are escaped. (See Reserved Characters later in this chapter.)
The search words are joined with interMedia's AND (&) operator.
For example, when the requester searches for ball point pen, the query expression in the interMedia CONTAINS query for this search phase would be as follows:
{ball}&{point}&{pen}
The query finds all the items that contain the words ball and point and pen.
Relevance is calculated during this search only if POR: Sort by Relevance is set to Yes. See Relevance Ranking.
The search words are formed by splitting the search text with spaces. For example, when the requester searches for ball point pen, the search words are ball and point and pen.
Any interMedia reserved characters in the search words are escaped. (See Reserved Characters later in this chapter.)
All search words without search operators are applied with an interMedia STEM ($) operator, suffixed with an interMedia wildcard (%) character, and applied with an interMedia FUZZY (?) operator.
The search words are joined with interMedia's ACCUM (,) operator.
For example, when the requester searches for ball point pen, the query expression in the interMedia CONTAINS query for this search phase would be as follows:
${ball},${point},${pen},ball%,point%,pen%,?{ball},?{point},?{pen}
The query finds all items that contain any of the words ball or point or pen, including their interMedia stem derivatives, any word that starts with ball or point or pen, and any word in the fuzzy expansion of ball or point or pen.
Relevance is calculated during this search only if POR: Sort by Relevance is set to Yes. See Relevance Ranking.
The interMedia fuzzy operator expands the search words to take care of things such as spelling mistakes, typing mistakes, and errors by scanning machines.
Each letter in a language is associated with a set of alterations. For example, lower case letter L (l) might be associated with digit one (1), since it looks similar to letter l. The letter l might be also associated with the similar-looking letter i, or it might be associated with the letter k, which is next to the letter l in a keyboard. Each of the alternate letters is assigned a weight. For example, for the letter l, the digit 1 may be given a weight of 50 and the letter i may be given a weight of 10; digit l appears more like letter l than the letter i.
All of the search words in the search text are expanded using alterations of the letters in the search words. For all of the letters in a search word, the alterations are used to arrive at several permutations of the search word. A weight is calculated for those permutations of the search word. All the permutations that have a weight more than a predefined threshold are considered in the fuzzy expansion for the search word.
For a detailed description of how fuzzy expansion works, please find the public patent at http://www.uspto.gov/patft/index.html.
Advanced search uses specific attribute fields to find items that match the keywords. Advanced searching does not use stemming.
Advanced search is implemented in interMedia by using sections for each of the searchable text attributes. For example, when the requester searches on the Description attribute, advanced search looks within the Description section in interMedia. Advanced search returns only items with a Description matching the keyword. For numeric attributes, advanced search does not use interMedia sections, but uses standard queries.
See Advanced Search for information on how advanced search operators, such as with the exact phrase, work.
Reserved characters are non-alphanumeric characters that carry special meaning in interMedia. To properly classify them into the appropriate non-alphanumeric character classes (Class I, II or III, described earlier), they are escaped when entered as part of the search criteria. For example, a hyphen (-) is a searchable character; however, it also carries special meaning for interMedia. To interpret a hyphen as a searchable, rather than an interMedia, character, interMedia escapes the character.
The reserved characters are escaped by enclosing the search word within braces {}. If there is a % in the search word, either explicitly entered by the requester or introduced automatically by the search engine in a begins with search, {} cannot be used to escape reserved characters. In this case, each reserved character is escaped separately with a backslash \ character.
The following 19 reserved characters are escaped:
, & ? { } \ ( ) [ ] - ; ~ | $ ! > _ =
Here are a few examples to illustrate how Class II and Class III non-alphanumeric characters are handled in the iProcurement search:
The requester searches for item_1% test. In a standard search, the query expression in the interMedia CONTAINS query would be as follows:
item\_1%&{test}
In an expanded search, the query expression in the interMedia CONTAINS query would be as follows:
item\_1%,${test},item\_1%,test%,item\_1%,?{test}
The requester searches for item-123 test. In a standard search, the query expression in the interMedia CONTAINS query would be as follows:
{item-123}&{test}
In an expanded search, the query expression in the interMedia CONTAINS query would be as follows:
${item-123},${test},item\-123%,test%,?{item-123},?{test}
The requester searches for red+pen point. In a standard search, the query expression in the interMedia CONTAINS query would be as follows:
{red+pen}&{point}
The interMedia parser treats + as a white space character because it is a non-alphanumeric character not defined as a printjoin. The matching items contain the phrase red pen and the word point.
The requester searches for red&%. In a standard search, the query expression in the interMedia CONTAINS query would be as follows:
red\&%
The interMedia parser treats the escaped & as a white space character because it is a non-alphanumeric character not defined as a printjoin. The search engine treats this search term as red % and usually results in an error message to refine the search criteria because of the presence of % as a separate word.
Catalog content is partitioned by language:
When you upload content, you specify a language in the catalog file. The content is loaded to that language version of the catalog.
When you extract content, master items that were translated in other languages are extracted to the corresponding language versions of the catalog. (Categories are extracted to all installed languages, regardless of whether they were translated.)
Items returned from a transparent punchout should match the requester's search language, if the external site honors the search language.
If POR: Change Catalog Language is set to Yes, the requester can click a "Change Catalog Language" link on the Shop or search results pages to select a search language. The system then searches that language version of the catalog.
Note: When modifying catalog content, the system also rebuilds the search index. Each language has its own search index, and the index is rebuilt differently depending on the language. Therefore, you should not load content to the wrong language version of the catalog.