Every day, realestate.com.au handles millions of searches. But we also need to do the opposite: match new real estate listings against millions of existing saved searches. This enables us to notify our users whenever a newly created listing matches their saved search, and thus help them find their dream home faster and easier. This inverse search problem is more difficult to solve than it first seems.
In this talk, I will explain why the problem is hard, give a brief introduction to Elasticsearch, and explain how we solved the problem using an unusual feature of Elasticsearch called “percolation”. If you ever face a similar situation, then this talk will help you understand the trade-offs and challenges you will face while building a system to efficiently match millions of saved searches against a continuous stream of new documents.
No prior knowledge of Elasticsearch will be assumed.