Using Shadow Fields for Better Search Performance

To provide better performance for case-insensitive wildcard searches, you can use shadow fields in search specifications for some record types. Shadow fields are predefined and are found in the WSDL file for each object for which they are supported.

Shadow fields add a suffix, _Shadow, to the actual field name. For example, for a Name field there would be a Name_Shadow field. Shadow fields always store their value in upper case, so, for example, if the Name field has the value Oracle, then the Name_Shadow field has the value ORACLE.

To perform case insensitive searches, you use the shadow field instead of the actual field. For example, instead of a searchspec like this:

searchspec="[Name] ~LIKE '%cle"

you can use the following searchspec including upper case characters for better performance:

searchspec="[Name_Shadow] LIKE '%CLE'"