A list of Sensei vocabularies.


A Sensei broker performs scatter-gather logic on query requests. The broker also listens to events from ZooKeeper and maintains a view of partition to node list map which is used to route and scatter query requests. Every node process has a broker co-located.

Data Event

Data events are units of indexing activities.

Data Stream

Stream of data events that Sensei consumes from via Gateways.

Some properties of Data Streams:


Gateways are how Sensei consumes from a data stream. The following are some built-in gateways:

You can write your own Gateway implementation by simply implementing the SenseiGateway interface. And configure it via the sensei.gateway properties.


A Sensei node is a Java process performing indexing work as handling query requests. A node can be configured to query over N shards.


A partition or slice of the data corpus.

Sharding Strategy

ShardingStrategy interface defines how a data event defined by a JSON object is mapped to a shard.