cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Search syntax for multi-valued attributes - Exact match

Search syntax for multi-valued attributes - Exact match

IdentityIQ supports querying for objects using Filters. These can be written in Java code (for example, when used in rules or workflows) or in a string-based filter syntax (for example, as a task argument). Searching for identities that have a specific multi-valued attribute requires a more complex filter that joins to IdentityExternalAttribute.

 

In Java, it looks like this:

String attrName = "myMultiValuedAttr";
String attrValue = "Attribute Name 1";
Filter filter =
Filter.and(Filter.join("id","IdentityExternalAttribute.objectId"),
Filter.eq("IdentityExternalAttribute.attributeName", attrName),
Filter.eq("IdentityExternalAttribute.value", attrValue));

 

Or this for case-insensitive:

String attrName = "myMultiValuedAttr";
String attrValue = "Attribute Name 1";
Filter filter =
Filter.and(Filter.join("id", "IdentityExternalAttribute.objectId"),
Filter.eq("IdentityExternalAttribute.attributeName", attrName),
Filter.ignoreCase(Filter.eq("IdentityExternalAttribute.value", attrValue)));

 

If you'd like to do a filter for an exact match within multi-valued attributes, the filter string will look like this:

(id.join(IdentityExternalAttribute.objectId) && IdentityExternalAttribute.attributeName == "myMultiValuedAttr" && IdentityExternalAttribute.value == "Attribute Name 1")

Or this for case-insensitive:
(id.join(IdentityExternalAttribute.objectId) && IdentityExternalAttribute.attributeName == "myMultiValuedAttr" && IdentityExternalAttribute.value i== "Attribute Name 1")

This syntax will display results with an exact match instead of a partial match. (Example: It will pull back results for "Attribute Name 1" but not "Attribute Name 1 a".)

Labels (3)
Version history
Revision #:
5 of 5
Last update:
‎May 17, 2026 02:01 AM
Updated by: