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 deviceWISE Cloud 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.
deviceWISE Cloud uses indexes to speed up the search operation. During a search operation the server uses the 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.
Thing searches on 64-bit unsigned integer fields containing large integer values (2^63 and larger) may produce unusual results.
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 To find all Things/Connections that have the attribute key set to a certain value through the 'Search' functionality, the precondition is that the attribute must be 'searchable'. |
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 |
NOT attrs.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.
The following fields can be used when constructing queries.
- alarms.alarmkey.state
- alarms.alarmkey.ts
- alarms.alarmkey.msg
- alarms.alarmkey.state
- alarms.alarmkey.ts
- alarms.alarmkey.msg
- apiCounts.daily
- apiCounts.monthToDate
- apiCounts.total
- attrs.attributekey.ts
- attrs.attributekey.value
- billingPlanCode
- boundTo
- createdBy
- createdOn
- defId
- defKey
- defName
- desc
- esn
- gateway.appVersion
- gateway.dwPlatform
- gateway.dwProduct
- gateway.dwVersion
- gateway.make
- gateway.model
- gateway.remShell
- iccid
- id
- imei
- imsi
- key
- lastSeen
- loc.addr.city
- loc.addr.country
- loc.addr.state
- loc.addr.street
- loc.addr.streetNumber
- loc.addr.zipCode
- loc.altitude
- loc.fixAcc
- loc.fixType
- loc.heading
- loc.lat
- loc.lng
- loc.speed
- locEnabled
- locUpdated
- locWithin
- meid
- module.fwVersion
- module.iccid
- module.imei
- module.imsi
- module.lastUpdated
- module.make
- module.mcc
- module.mnc
- module.model
- module.network
- module.packetService
- module.remAt
- module.rscp
- module.rssi
- name
- orgId
- properties.propertykey.ts
- properties.propertykey.value
- secTags
- sessionId
- tags
- tunnelActualHost
- tunnelLatencies.router01
- tunnelVirtualHost
- updatedBy
- updatedOn
- vasPackageCode
The following fields can be used when constructing queries.
- carrier
- createdOn
- custom1
- custom2
- custom3
- custom4
- custom5
- customer
- dateActivated
- dateAdded
- dateModified
- esn
- hasDataUsage
- hasSmsUsage
- hasVoiceUsage
- iccid
- id
- imei
- imsi
- inSession
- ipAddress
- lastSync.session
- lastSync.dataUsage
- lastSync.smsUsage
- lastSync.voiceUsage
- lastSessionEnd
- meid
- mdn
- msisdn
- ratePlan
- ratePlanId
- secTags
- status
- tags
- terminalId
- touchedOn
- updatedBy
- updatedOn
The following fields can be used when constructing queries.
- name
- eventType
- lastSuccess (date/time)
- lastFailure (date/time)
- successCount (integer)
- failureCount (integer)
- dailySuccessCount (integer)
- dailyFailureCount (integer)
- started (boolean)
- updatedBy
- updatedOn