Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 1.8 KB

architecture-services-things-search.md

File metadata and controls

44 lines (29 loc) · 1.8 KB
title keywords tags permalink
Things-Search service
architecture, service, things-search, search
architecture
search
architecture-services-things-search.html

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

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 which Thing events are indexed for sure.