Die klassische Suche nimmt eine Suchanfrage entgegen und findet passende Dokumente in einem Index. Manche Anwendungsfälle brauchen jedoch genau die umgekehrte Richtung: Ein neues Dokument trifft ein, und die Anwendung muss herausfinden, welche von vielen gespeicherten Suchanfragen darauf zutreffen würden. Ein typisches Beispiel ist ein Preisalarm, bei dem tausende Kunden individuelle Suchkriterien hinterlegt haben und benachrichtigt werden sollen, sobald ein neues Produkt genau diese Kriterien erfüllt.
Elasticsearch bietet dafür die Percolator Query, die gespeicherte Suchanfragen als eigene Dokumente indexiert und bei jedem neuen Produkt effizient prüft, welche davon zutreffen. Wie das funktioniert, wie sich der Anwendungsfall Preisalarm konkret umsetzen lässt und wo bei sehr vielen gespeicherten Queries die Performance-Grenzen liegen, zeigt dieser Artikel.