You can make search operations in the application case insensitive by enabling case
insensitive search for the required entity/column. This is achieved by adding the attribute
CaseInsensitiveSearch in the required entity XML file.
About this task
To enable case insensitivity:
Procedure
- Edit the required Entity XML to include the
CaseInsensitiveSearch=Y
attribute.
Include the shadow column attribute ShadowColumnName in the
Entity XML and specify a name for the shadow column. If this is left
blank, the system auto generates one. However, you must specify a
shadow column name if you are indexing the shadow column.
A
shadow column is then generated, which is linked to the original column
that is marked as case insensitive.
- If the agent is being run in a production environment,
specify the configuration mode for the entity or column in the CaseInsensitiveSearch.Mode
property in the customer_overrides.properties file. Set the value
of the CaseInsensitiveSearch.Mode property to
MIXED
or DISABLED
.
Note: By default, case insensitivity is enabled.
- Disable the cache for the entity for which you want to
run the Case Insensitive Data Loader agent.
Note: It is recommended that along with disabling the cache,
you turn off the audits for that particular entity as well.
- Run the Case Insensitive Data Loader agent to populate
data in shadow columns.
Note: If you skipped
Step 2, skip this step, as well.
- Set the value of the CaseInsensitiveSearch.Mode property
to
ENABLED
in the customer_overrides.properties file.
Note: If you disabled audits in Step 3, enable
audits now.
- Enable the cache for the entity or column for which the
Case Insensitive Data Loader agent was run in Step 3.
The
following APIs support case insensitive searches for system defined
columns:
- getOrderList
- getItemListForOrdering
- getExceptionListForOrder
- getCustomerList
For custom columns that have been extended, the case insensitive
search works if the normal search works on those columns.
Note: This feature is applicable only for searches that use
the application generated XAPIs. Searches using custom queries will
not be case insensitive.
Note: Case insensitive
search can be enabled only for text data type (Char/Varchar columns).
Note: Use of complex query in conjunction with case insensitive
search for a column is not supported.