Searching for Things

Search enables you to locate a specific thing or a set of things that matches your search criteria.

You can enter the full text string of a thing to locate a specific thing or refine your search using wildcards, logical operators, and advanced search operators.

To search for things, go to the Things page and start typing in the search box.

You can perform simple searches based on a single criteria such as thing name or key. You can also do more complex searches using logical operators with named params, such as name:thing OR key:thing, which performs a search for things with the name or the key as a thing.

When using named params, only searches that contain the alphanumeric characters "a" through "z", "A" through "Z", and "0" through "9" produce predictable results. If the search value contains any punctuation, spaces, or special characters, you must wrap the entire value in double quotes. Punctuation, spaces, and special characters are considered word delimiters and create an OR condition in the search, which produces unexpected results.

You can also perform searches using other criteria, such as thing properties, alarms, attributes. The following table shows the search formats:

Search String

What to Expect

name:thing

All things with the name thing.

key:thing

All things with the key thing.

name:*thing*

All things with a name that contains thing.

name:thing*

All things that start with the name thing.

name:thing?

All things that start with thing and have exactly one more character in the name, for example, thinga, thing1, things.

key:???th_thing

All things that end with th_thing and have exactly three characters at the beginning of the key, for example, north_thing, south_thing, 120th_thing.

lastSeen:>2016-04

All things seen since April 2016.

lastSeen:<2016-04

All things seen before April 2016.

alarms.connected.state:1

All things that have the alarm connected, and its current state is 1.

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, 9999999999999998 ,0000000000000001)

Each of the things that have the matching id. The comma-space delimiter is required. Replace idField with id, esn, iccid, imei, imsi, meid or msisdn. For example, iccid:8711260741224338000, imei:358883046458854, msisdn:2487495423.

field.key.value:"2016-06-06"

All things that have a date string value 2016-06-06. The double quotes are required because hyphens are considered a word delimiter and create an OR condition in the search.

createdBy:"username@domainexample.com"

All things that have the same createdBy account. The double quotes are required because the at (@) symbol is considered a word delimiter and creates an OR condition in the search. The same applies to updatedBy.

Using Logical Operators

You can use logical operators to refine the search with more complicated search expressions.

Note:

You must specify the logical operators AND, OR and NOT explicitly in capital letters.

The following table shows how to combine multiple search terms in a query:

Search String

What to Expect

term1 AND term2

All things that match term1 AND term2.

term1 OR term2

All things that match term1 OR term2.

lastSeen:>2016-03 AND lastSeen:<2016-04

All things that seen during the month of March 2016.

NOT attrs.attrkey.value:*

All things that do not have this attribute key set to a value. For example, NOT attrs.ip_address.value:* shows the things that do not have the ip_address attribute set to a value.

You can use parentheses to nest query terms within other query terms, for example, (lastSeen:>2017-10 AND lastSeen:<2017-11 NOT name:*Multi*).

Delimiters

Search String

What to Expect

term1-term2

Intra-word delimiters, all non-alphanumeric characters (for example, commas, special characters, hyphens, periods) are delimiters. For example, a search for Wi-Fi results in a search for Wi, Fi.

Term1Term2

Case sensitive delimiters. For example, a search for PowerShot results in a search for Power, Shot.

term100

Letter-number delimiters. For example, a search for SD500 results in a search for SD, 500.

//term1—term2, term3

Leading and trailing intra-word delimiters are ignored. For example, a search for //hello---my, example results in a search for hello, my, example.

Term's

Trailing "s" is ignored for each word. For example, a search for O’Neil’s results in a search for O, Neil.

You can use the following fields when constructing search strings:

  • 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

  • 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

  • name

  • orgId

  • properties.propertykey.ts

  • properties.propertykey.value

  • secTags

  • sessionId

  • tags

  • updatedBy

  • updatedOn