As the newest member of the foodpanda search team, I recently had the opportunity to attend a “Core Elasticsearch” training workshop with some of the developers from Elastic (the company behind Elasticsearch). Over the course of two days of seminars and labs I improved my query-writing skills, posed a few tricky questions to the experts, and got to hear about some current and upcoming features that will help foodpanda to streamline and broaden the way we use search.
Some things I learned about that could be very useful for foodpanda in the near future:
- Using random scoring to gently improve visibility of new restaurants in “function scoring.”
- Significant-terms aggregations have great potentials for improving recommendations to customers.
- The completion suggester could improve autocompletion with the names of frequently used restaurants.
- The holt-winters pipeline algorithm could be useful for predicting when peak-times on our servers will occur.
- Regularly “force-merging” shards to improve index speed and size.
- An overview of new features in Elasticsearch 5 (Elastic recently bumped up Elasticsearch’s version number from 2 to 5 to keep version consistency amongst all their products).
- The Elastic discussion board is frequented by Elastic developers and is a great place to post tricky questions.
- Search-engine devs like to drink a lot of coffee and some hotels don’t just assume that you want the coffee machines left on all day. Having said that, the coffee we DID have was quite good.
Overall, I think that the future of search at foodpanda is pretty exciting. We’ve just upgraded our production environment to Elasticsearch 2.3 and are currently working hard to split some existing parts of our search-engine api and population applications into microservices. We also want to have an overall layer of abstraction for Elasticsearch because, while it might be the coolest open-source search engine around right now, we should always stay ready to work with the next generation, wherever it comes from.