Using Search

The Management Portal provides a range of options to search for Things, Connections and Triggers. The top navigation search allow you to search across the IoT Portal or filter the search based on type.

Search enables you to locate a specific Thing/Connection/trigger or a set of Things/Connections/triggers that match your query string. Enter a full-text related to a Thing/Connection/trigger to locate a Thing/Connection/trigger or refine your search by using wildcards, logical operators, and advanced search operators.  For example, enter the Thing's name, the Connection's ICCID or key or a more complex query using logical operators with named params like name:Thing OR key:thing OR msisdn:566* OR carrier:AT&T, which will perform a search with the input parameters.

Use logical operators to refine the search by creating more complicated search expressions. The following table lists the multiple search terms and formats used in a search query:

The Logical operators AND, OR and NOT must be specified explicitly and must be in CAPITAL LETTERS.

IoT Portal uses indexes to speed up the search operation. During a search operation the server uses the indexClosedAn index is a mechanism used by the Server to efficiently find entries matching the query string. to find entries that match the search key. If indexes are not configured, then the server must check every entry in the server to locate potential matches of the search. In order to increase the efficiency of search each Thing is limited to a maximum of 32 attributes, 32 alarms, and 32 properties. If you have more than the permitted limit, then the attributes, alarms, or properties will not be indexed and is not searchable.

Click on the search icon in the top navigation, apply the filters and the enter the query string. The following table lists some example query strings.

Query string Result
name:thing All Things with the discreet word "thing" in the name. For example, "My thing" would be returned, but "mything" would not.
key:thing All Things with the key thing
name:*thing* All Things with a name that contains thing. For example, "The thing", "thethingdevice", "thing1" would be returned.
name:thing* All Things that have a discreet word that starts with the name thing. For example "The thing" and "thing1" would be returned, but "thething" would not.
name:thing? All Things that start with the thing, and have exactly one more character in the name: thinga, thing1, things, and so on.
(name:*thing*) OR (NOT name:*thing2*) The familiar boolean operators AND, OR and NOT (also written &&, || and !) are supported but beware that they do not honor the usual precedence rules, so parentheses should be used whenever multiple operators are used together.
key:???th_thing All Things that end with th_thing, and have exactly three characters at the beginning of the key: north_thing, south_thing, 120th_thing, etc.
lastSeen:>2018-04 All Things that have been seen since April 2018
lastSeen:<2018-04 All Things that have been seen before April 2018
connected:true All Things that are connected
hasTunnels:true All Things with Tunnels. For more information on Tunnels, see Tunnels.
alarms.connected.state:1 All Things that have the alarm connected and its current state is 1
properties.speed.value:14 All Things that have the property *speed* and its current value is 14
iccid:89015648812410425618 All Connections with the iccid "89015648812410425618"
imei:*8901* All Connections with an imei that contains "8901"
msisdn:566* All Connections with a msisdn that starts with "566"
lastSync.session:>2019-04 All Connections that were syncedsince April 2019
touchedOn:<2019-04 All Connections that were touched/modified before April 2019
<idField>:9999999999999999 The thing with this unique Id. Replace <idField> with id, esn, iccid, imei, imsi, meid or msisdn. For example: iccid:8711260741224338000, imei:358883046458854, msisdn:2487495423
<idField>:(9999999999999999 OR 9999999999999998 OR 0000000000000001) Each of the things that have the matching id. Logical operator OR is required. Replace <idField> with id, esn, iccid, imei, imsi, meid or msisdn. For example: iccid:(357043043327371, 358883046458854, 358883046458855)
field.key.value:"2019-06-06" All Things/Connections/triggers that have a date string value 2019-06-06. The double quotes are required because hyphens are considered a word delimiter and will create an OR condition in the search.
createdBy:"username@domainexample.com" All Things/Connections/triggers that have the same createdBy account. The double quotes are required because the @ (at) symbol is considered a word delimiter and will create an OR condition in the search. Same applies to updatedBy.
term1 AND term2 All Things/Connections/triggers that match term1 AND term2
term1 OR term2 All Things that match term1 OR term2
lastSeen:>2019-03 AND lastSeen:<2019-04 All Things that have been seen during the month March 2019
NOTattrs.attrkey.value:* All Things/Connections that do not have this attribute key set to a value. For example: 'NOT attrs.ip_address.value:*' will not list the things that have the ip_address attribute set to a value.
Delimiters
"term1-term2" Intra-word delimiters, all non-alphanumeric characters (commas, special characters, hyphens, periods and so on) are delimiters. For example, "Wi-Fi" → "Wi", "Fi" 
"Term1Term2" Case sensitive delimiters. For example, "PowerShot" → "Power", "Shot"
"term100" Letter-number delimiters. For example, "SD500" → "SD", "500" 
"//term1—term2, term3" Leading and trailing intra-word delimiters are ignored. For example, "//hello---my, example" → "hello", "my", "example" 
"Term's" Trailing "s" is ignored for each word. For example, "O’Neil’s" → "O", "Neil"

Without explicitly specifying a field you will be able to search the following: id, orgId, boundTo, name, key, sessionId, serverId, defId, defKey, defName, iccid, esn, meid, imsi, msisdn, secTags, tags, locWithin, lwm2m.endpoint, lwm2m.identity, lwm2m.bsIdentity, lwm2m.profileId, lwm2m.path, and lwm2m.remoteAddr

For example, you will be able to search Thing key ABC123 as abc123, but you will not be able to search for attribute myattr as abc123, instead you must use attr.myattry.value:abc123.