Edit this page

The “things-search” service takes care of:

  • updating an optimized search index of Things based on the events emitted by the things and policies services when entities are changed there
  • executing search queries against the search index in order to find out which Things (which thingIds) match a given search


The things-search service has no model (entity) by its own, but uses the model of things and policies services.

It however contains a model which can transform an RQL search query into a Java domain model which is defined here:


Other services can communicate with the things-search service via:

  • commands: containing commands and command responses which are processed by this service


The Things-Search service maintains its own persistence in which it stores Things in an optimized way in order to provide a full search on arbitrary Thing data.

Things-Search creates the following MongoDB collections:

  • search: The search index.
  • searchSync: A single-document capped collection containing the instant until which Thing events are indexed for sure.