Search, query, and edge filtering are all controlled using the same property comparison mechanism which is configured as follows:
-
An argument on the Search and Query methods.
-
A property on the Edge Definition.
The following examples show the syntax criteria for various types of property comparison:
-
When criteria uses an = comparison operator, the string on the left has to equal the string on the right. However, when comparing relationships to objects, the = operator will do an ANY comparison. For example, an edge definition can expand from the contract to multiple users, any of which can match the current user.
-
The wild card * is supported for use in a general wild card string, and _ operator is supported in a string for single character matching. For example, IObject~Name~=~A_*|B_* works if you want to filter on values starting with an A or B, which are at least 2 characters long, and the _ ensures that the second character is present.
-
Wildcards are not supported with environment variables.
-
If you specify multiple values for a property comparison in an edge definition, you can use the NOT IN operator to filter out those results while matching the criteria. For example, +SPFFiletype~IObject~UID~NOT IN~FT_vecz|FT_binz filters out all the files related to the document except the WebGL files.