Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

Using Elasticsearch Percolate for User Notifications

The article explains how to use Elasticsearch's percolate feature to implement user notifications by matching new documents against stored user-defined queries. It covers the setup of a percolator index, how to register user interest queries, and how to efficiently find which users should be notified when a new document is indexed.

Background

- **Elasticsearch** is a popular open-source search and analytics engine used to index, search, and analyze large volumes of data quickly. It's often used for log analysis, full-text search, and real-time applications. - **Percolate** (or Percolator) is a lesser-known Elasticsearch feature that works in reverse: instead of searching documents against a stored query, it stores queries and checks incoming documents against them. This makes it ideal for alerting or notification systems. - **Why this matters**: Typical notification systems either poll a database or use complex stream-processing pipelines. The Percolate feature offers a simpler, scalable alternative — push a notification rule as a stored query, and Elasticsearch automatically fires when a new document matches. The article walks through using this design pattern for user notifications at scale.