Elasticsearch and Rightmove: Mapping Out Your New Home With Search
Rightmove is the UK’s largest property rental and sales website, with over 1.2 million properties listed, and serving over 55 million visitors a day. Rightmove helps estate and lending agents advertise their stock, connect agents to vendors, and helps users find their next home. Nearly 90% of all estate agents in the UK advertise on the Rightmove website.
In 2014, Rightmove was using a monolithic proprietary search software to power their site. The software couldn’t handle Rightmove’s scaling needs and would only index when the system was offline (a particular pain point since re-indexing was required nightly to keep the site from falling apart). They tried adding more nodes in the hope of making the system run faster, but it did the exact opposite. Worst of all, geo search capabilities were not available, requiring Rightmove to make their own solutions which wasted hours of energy developing and rolling out map updates.
Rightmove established an internal initiative in 2014 — dubbed Project Odin — to investigate new search engine options that solved those debilitating issues. Their quest for better search led them to Solr and Elastic. Rightmove chose Elasticsearch because — in comparison to Solr — it was faster at indexing, easier to work with, had the features they needed right out of the box, and was easier to scale.
Today, Elasticsearch is used across the Rightmove website, with geo capabilities running in the background of all user and map searches. Rightmove uses three types of geo search tools:
- Geo distance — used to group results within a set distance from a central point, such as public transport stops or offices
- Geo polygon/shape — helps define results within a certain area
- Geo-bounding box — an efficient way of searching within a rectangle that speeds up search results with greater and lesser than comparison
Elasticsearch geo capabilities, along with making search on the website easier, have allowed Rightmove to introduce advanced mapping features such as a "Draw-a-Search" option (which allows users to create their own search areas), and the “Where Can I Live?” tool which gives users results based on input such as income, desired location, local amenities, and more. Elasticsearch also powers the “sold price” search and analysis features on the site to help users find how much their house is worth, the value of other properties along their street, or the property values of their desired location.
Rightmove, in an attempt to create better alerts and search results, also uses the Elasticsearch percolator to index and store queries, which can be used to match documents to queries, rather than the other way around. This allows Rightmove to easily match new property documents to saved queries (such as price, location, etc.) so that users are automatically notified when properties matching their queries are available. Rightmove currently has about 3.5 million saved searches and runs 1 billion queries against percolator to create matches for user-specified alerts.
Behind the scenes, Elasticsearch delivers customer reporting and supports the website and its applications. Rightmove generates 7.3 billion log messages a day, with a retention rate of 2 weeks — about 17 terabytes of data — all of which, thanks to Elasticsearch, a queryable, flexible, consistent, and easy to configure for different purposes. Microservice development gives Rightmove the ability to create continuous deployments rather than two weekly releases, which was the case with their old, propriety monolith search engine.
Want to learn more about how Rightmove uses Elasticsearch? Watch their Improving Customer Experience with Geo Capabilities at the UK’s Biggest Property Portal talk from Elastic{ON} 2018 to learn what type of geo searches are used, the pros and cons of polygon vs. shape, a glimpse into the Rightmove website architecture and code, and to see demos of the website features in action.