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
(whichthingId
s) match a given search
Model
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:
Signals
Other services can communicate with the things-search service via:
- commands: containing commands and command responses which are processed by this service
Persistence
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 whichThing
events are indexed for sure.