In this article, we want to share our experience of using Elasticsearch in the online marketplace. You will learn about main advantages of this search engine, its features, and use cases.
What Elasticsearch is
Elasticsearch is a scalable, RESTful search and analytics engine, that allows you to perform and combine different types of searches (structured, unstructured, geo, metric etc.) and quickly retrieve any type of data you need.
Its main benefits are:
- Near real-time transparent and flexible search
Elasticsearch has a bunch of search parameters such as structured search, full-text search, multi-field search, proximity matching, partial matching, and aggregations. It also allows you to combine geolocation with full-text search, structured search, and analytics.
- Possibility to extend it with powerful functionality
Elasticsearch provides you with the features in X-Pack such as security, alerting, monitoring, reporting, graph, and machine learning.
X-Pack easily integrates across the entire Elastic stack and is maintained by Elasticsearch engineers, so you don`t need to worry.
- Different programming languages support
Elasticsearch builds and maintains clients in such programming languages as Java, Python,.Net, and Groovy. Moreover, it has a dedicated community that supports a lot of other languages.
- Detailed documentation
Getting started with Elasticsearch is fairly straightforward. It has a very thorough and detailed documentation that covers each aspect of its usage and performance.
- Advanced analytics
Elasticsearch allows running analytics over the employee directory. It provides the functionality called aggregations that allows you to extract any kind of data and generate analytics over it.
With aggregations you can calculate and summarize data about the current query, e.g. you can return data like “popular posts by hour” or “what the most popular interests of your employees are” and “what is the average age of employees who share a particular interest?”
What business Elasticsearch is good for
Elasticsearch is a great choice for any business that deals with data, documents, search, analytics, and especially for online marketplaces that need real-time data processing. Here are some companies that have chosen this search engine:
How we used Elasticsearch in online event planning marketplace
Meals Unite is an online marketplace that allows you to become a host and make new friends by sharing a meal and inviting guests from different cities and countries.
The main idea of the project is to evolve the food culture, enjoy each bite, and each minute of conversation in a relaxed and positive setting.
Of course, search on such marketplace should be intuitive and smooth, enabling users to easily find a meal event they want.
Let's see how Elasticsearch works in this project.
A user can search events in two different ways:
- Map view
Events are displayed by automatically defining your location (with HTML5 geolocation) and sorting it according to the distance (nearest first)
- List view
User manually types the location and sees the list of events there.
Users can sort the events by the following filters
- By date
- By price
- By favorite events
- By various event characteristics
Each of the event characteristics has possible values of a category. For example, categories are divided into breakfast, brunch, lunch, and dinner.
The point here is that with Elasticsearch these filters are created automatically from the database. It makes the search more advanced, without developers having to set each filter manually.
When there are no events for a certain category, this category is not displayed at all.
- Selected filter
This component shows the filters applied to the current search.
These are only some of the filters we have used in this project. However, the abilities of ElasticSearch go far beyond.
Elasticsearch is a flexible and convenient search engine for real-time data fetching. It has a large functionality with customizable elements, so it will be suitable for almost any type and size of business. If you`d like to try out this powerful tool, we would be more than glad to help you.