Advanced Search Functionality

This section describes the different types of search criterion available in the STEP system as well as some basic search functions.

Important: Calculated attribute values are generated on-the-fly. Searching for the value of a calculated attribute is not allowed since generating all possible calculations would cause substantial performance issues.

Default Search Criterion

The default search criterion named 'Search' allows you to find objects based on name, ID, attributes and their values.

A text string entered in the search field will search for object names, IDs, or attribute values where the text occurs.

If you enter a text string and click the Search button, search finds objects with an ID, and/or a name and/or an attribute and/or their values matching the entered string. You can further refine standard searches as shown below.

Note: By default, searches are not case sensitive for name and attribute value searches, but searches are case sensitive for ID searches. Make case sensitive name and attribute value searches using the Advanced option 'Match Case on Names and Values.' For more information on the Advanced options, refer to the Advanced Search: Advanced Options topic.

Search Field Typeahead

Once you start typing in the default search criterion text field, the system suggests possible entries matching the typed in text (case insensitive), and displays them on a dropdown menu as shown below.

In the typeahead menu, objects are displayed with their relevant icon, then name, and then ID in brackets. Attribute values are shown as text.

Items can be selected from the menu using either the mouse or the keyboard 'arrow up' and 'arrow down' keys. A maximum of 100 items will be displayed.

Note: Using sharedconfig.properties entries, it is possible for a system administrator to control the behavior of the typeahead. E.g., after how many entered characters should suggestions be shown, etc. Search for the 'TypeAhead' section on the Configuration tab. For more information, refer to the Configuration topic in the Administration Portal documentation.

Limiting Results to Matches on IDs

You can limit standard searches to match on ID only by entering 'ID = ' at the beginning of the text field as shown below.

'id' and 'Id' will also work, as the spaces on each side of the equals sign are optional.

Limiting Results to Matches on Name

You can limit standard searches to match only on name by entering 'Name = ' at the beginning of the text field as shown below.

'name' and 'NAME' also work since the spaces on each side of the equals sign are optional.

Attribute Value Searches

Using a standard search, you can limit the result to only match on values for specific Attributes.

Important: Calculated attribute values cannot be searched since they are generated only when viewed or processed.

There are at least three ways to construct an attribute search query:

  1. Start entering an attribute name or ID, then select the relevant attribute from the typeahead menu, to display attribute name in the text field. Enter a search operator or enter a SPACE and select an operator from the typeahead menu and enter the value to search for.

  1. Enter the attribute ID (case sensitive), enter a search operator or enter a SPACE and select an operator from the typeahead menu, then enter the value to search for.

  1. Enter the attribute name (case insensitive), enter a search operator or enter a SPACE and select an operator from the typeahead menu, then enter the value to search for.

Note: As shown on the screenshot above, if you have the required privileges you will get typeahead suggestions on existing values after having specified a search operator.

Attribute Value Search Operators

The following search operators that can be used when performing attribute value and reference metadata attribute value searches.

Operator

Description

<

Less than operator. Only works for number validated attributes (Validation Base Type = number, integer or fraction)

<=

Less than or equal to operator. Only works for number validated attributes (Validation Base Type = number, integer or fraction)

=

Equal to operator.

>

Greater than operator. Only works for number validated attributes (Validation Base Type = number, integer or fraction)

>=

Greater than or equal to operator. Only works for number validated attributes (Validation Base Type = number, integer or fraction)

!

Operator used for finding objects where the specified attribute does not have values in current context. The search does not check whether the attribute is valid for a given object. Also, if the specified attribute has an inherited value (not a local value), then the object will be listed in the results set even though the value field is not empty.

Note: This operator does not perform searches on missing reference metadata attribute values.

!!

Operator used for finding objects where the specified attribute does not have local values in any context. The search does not check whether the attribute is valid for a given object. Also, if the specified attribute has an inherited value (not a local value), then the object will be listed in the results set even though the value field is not empty.

Note: This operator does not perform searches on missing reference metadata attribute values.

Wildcards in Searches

The following two wildcards are available for performing searches on partial text strings:

  • * (asterisk ), multi-character, represents any number of characters in a string
  • ? (question mark), single character, represents exactly one character

Wildcards can be used anywhere in the text string.

Note: Searches starting with a wildcard should be avoided since they are significantly slower than other searches.

Searches in 'Full Text Indexable' Attribute Values

Searches in values for attributes configured with the 'Full Text Indexable' parameter set to 'Yes' do not work in the same manner as searches in other attribute values. Apart from common English words like 'in' and 'as,' each word is indexed as a separate element. For more information about the words that are not indexed, search the Oracle website for the 'English Default Stoplist.'

For example, consider an attribute named 'Description' that has the following value on a given product:

Black powder coated die-cast aluminum enclosure. Textured surface. Bulk version: Enclosures may possibly have flaws in the finish such as scratches, dents, discoloration, etc.

  • If the 'Full Text Indexable' parameter is set to 'Yes' for the attribute, a search for 'Description = aluminum' returns the product.

  • If the 'Full Text Indexable' parameter is set to 'No' for the attribute, a search to find this product would require a wildcard on both sides of the 'aluminum' text like this: 'Description = *aluminum*.

Note: Searches starting with a wildcard (as shown above) are significantly slower than other searches.

By default, if you have not specified an attribute, typeahead for Full Text Indexed attribute value entries is turned off. If you have specified an attribute, you will first get typeahead suggestions after having entered three (3) characters of the value entry. Refer to the Search Field Typeahead section above.

While changing this setting is allowed on an existing attribute, it does required special handling. For Oracle databases, this action requires single-update mode (SUM), as defined in the Single-Update Mode topic. For Cassandra databases, this action uses Lock-free Schema Change (LFSC) functionality, as defined in the Lock-free Schema Change topic.

Numeric Value Searches for Attributes with Units

Values for numeric searches with no units are assumed supplied in the default unit for the attribute. For example, if kg is the default unit for the 'Weight' attribute, 'Weight = 1' will match '1 kg' and '1000 g'. If no default unit is configured, the search 'Weight = 1' will only match the value '1' with no unit.

ISO Date Searches

If an attribute with the validation type of 'ISO Date,' where the date populated in the field is in the YYYY-MM-DD format, a search on the populated attribute on objects can be performed using the following key words in the Advanced Search tab: now, today, tomorrow, yesterday.

While it does not matter if the 'ISO Date' is set to 'Strict Validation' or not, it does matter that the date is written in the YYYY-MM-DD format. Any other format, including using slashes ' / ' instead of dashes '-' will not work since searches work by matching only values conforming to the ISO standard (with dashes). For this reason, it is recommended that 'Strict Validation' be set to Yes, otherwise, the stored values are not guaranteed to be searchable.

In the example below, a user searched for an object that has a particular date. The user typed in the name of the date attribute 'ISO Date', and then used an 'attribute value search operation' followed by the literal date. (The keywords 'yesterday', 'today' and 'tomorrow' are also available.)

Using the 'Add Criteria' Operator

You can combine different search criteria to create advanced searches with the default 'AND' operator.

The search shown below:

generates the same results as the following search:

Except for cases where one or more 'OR' operators are used, the sequence of the criteria does impact the results. When no 'OR' or 'Exclude' operator is used, all criteria are added with the default 'AND' operator, meaning that all criteria must be met to be included in the results.

Click the add operator button (), which applies the 'Add Criteria' operator, to construct a query that includes more than one criterion.

As an example, the search shown below finds objects that have the value 'Red' for the 'Color' attribute AND that are present below an 'Apparel' hierarchy node. The order of criteria does not impact the results.

Using the 'Add OR' Operator

To add an 'OR' operator, click and hold the add operator button (), then select 'Add OR' from the menu.

When using 'OR' operators, search is divided into separate parts containing one or more criteria. Each part is executed separately and the results are then compiled before presenting the final result.

Since it is not possible to work with parenthesis, when working with 'OR' operators it is often necessary to configure the same criterion on each side of an 'OR' operator.

For example, the search shown below returns all objects where the ID starts with the text '1821' and the color is 'Aqua,' plus all objects where the name starts with the text '1821' and the color is 'Aero Blue.'

Using the 'Add Exclude' Operator

You can negate search criterion, by using the 'Exclude' operator functionality.

To add an 'Exclude' operator (also referred to as a 'NOT' operator), click and hold the add operator button (), then select 'Add Exclude' or click an 'exclude' link in the generated 'Search Result Profiling' panel after displaying search results.

'Exclude' operators appear with red 'NOT' text on the left side of the criteria panel (shown below).

Continuing with the example above, the search finds objects where all the 'positive' criterion are met, minus objects where the objects are below the 'Writing Tools' node in the hierarchy.

When using an 'OR' operator, add the same 'NOT' to each section divided by an 'OR' operator.

When no 'OR' operators are used, the sequence of 'NOT' operators do not affect the results.

Note: A search that contains only 'Exclude' operators without an 'Add Criteria' will not generate any results.