Enabling case insensitive searches

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

  1. 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.

  2. 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.
  3. 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.
  4. Run the Case Insensitive Data Loader agent to populate data in shadow columns.
    Note: If you skipped Step 2, skip this step, as well.
  5. 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.
  6. 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.