In this article, we want to share our experience of using Elasticsearch in the online marketplace. You will learn about the main advantages of this advanced search engine, its features, and Elasticsearch use cases.
What is Elasticsearch?
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.
- Unique list of Elasticsearch features
Elasticsearch search engine provides many opportunities for its clients to manage their data in the most convenient form. It offers unique features to ease the searching process and allow its uses to have complete control over information, cluster operations, and more.
- Machine learning. With machine learning, you can easily extract fresh insights and automatically detect abnormalities. Building algorithms will not cause a problem as it is already a part of the Elasticsearch system of regression, classification, and outlier detection.
- Security. Executives and clients don’t have to worry about the safety issues, as the data kept in Elasticsearch is secure. Only the right people get access to the information and such features as TLS encryption, role-based access control, field- and document-level security hold the ill-intentioned users off.
- Alerting. Users can get built-in alerts and notifications when there are changes to Elasticsearch data interesting to them. With these features, clients will have the complete power of the query language and changes in its data. Notifications can be integrated with any third-party system, such as email, PagerDuty, or Slack.
- Scalability and resilience. The distributed environment in which Elasticsearch functions ensures the scalability of the system. The clusters, which are the collections of the nodes (servers) that hold all the data and provide indexing and search across all nodes, can easily grow with users’ needs. All they have to do is add another node to scale capacity and dependability of the cluster. And when the usage grows, Elasticsearch grows too.
- Possibility to extend it with powerful functionality
Elasticsearch provides you with the additional features in Elastic Stack, also known as ELK stack. It is a powerful mixture of the functionality of Elasticsearch, Kibana, Beats, and Logtash, which allows users to extract data from any source, then analyze and visualize information right away.
- Elasticsearch and Kibana
Combination of Elasticsearch and Kibana gives rise to new ways of perceiving information. Such great features as fast search and analysis are what makes the Elastic Stack stand out. And Kibana can give form to the data in the expansive interface.
In Kibana, you will find attractive visualizations in the form of histograms, pie charts, waffle charts, etc. With the help of dashboards, users can create live presentations to make data more prominent and easily manage it. Kibana, together with the advanced search, is capable of turning users’ data into a readily comprehensible shape. Here you can see the complete list of features Kibana offers.
- Beats, Logstash + Elasticsearch
To take data and get it into Elasticsearch, Beats and Logstash were introduced. They allow users to transfer data from different sources. Beats sends data from multiple systems, and Logstash examines, transforms the data into a structure that can be easily processed. These are comfortable ways to send all the data to one place.
- 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:
These are just to name a few. And if you are wondering how to use elasticsearch, continue reading.
Elasticsearch use cases - ExpoIQ: How does it actually work?
At Apiko, we often use Elasticsearch in web and mobile app development to make the search process highly efficient and convenient in use. One of our recent projects is ExpoIQ.
ExpoIQ is a marketplace platform that connects businesses in a new format. On its website, you can search for companies that would typically present their services, new releases, innovations in the related events or have their booths at expos.
The challenge to meet new organizations has never been as strongly felt as during the pandemic. In such times, how can people find and connect with the best prospects when there are no events? With ExpoIQ you can.
Apiko development team integrated Elasticsearch to ensure the intuitive work of the service. Now you can meet the right professionals by using advanced search filters and booking intro video calls on the website.
Let’s dive right in to see how Elasticsearch works at the ExpoIQ and what benefits there are for you.
Advanced search engine
With the large database of IT professionals, it would be hard to find the right fit for your business without the advanced features of a search engine. Elasticsearch allows you to keep, search, and analyze big amounts of data straightaway. At the ExpoIQ, Apiko integrated it as a technology that gives an application the ability to handle intricate search requirements.
Elasticsearch filters which business contacts to show you according to:
- the best job titles for the people you want to meet
- tech vendors you are looking for
- conferences and trade shows you have attended (or wanted to attend) to connect with these types of people
- funding you would prefer a tech vendor to have received
- the estimated revenues you would like the tech vendor to have generated
- your location
Also, Elasticsearch provides you with the advantage of choosing more than one option at the same time. That makes your search process really flexible as it shows you the information which relates most appropriately to your business needs having taken into account all your specific criteria. And if you prefer to skip some steps, the results will be generated according to the information that you set.
Having set all the parameters for your advanced search, Elasticsearch analyzes the information and shows you those professionals you will definitely want to meet. The more correspondence between your preferences and business contacts in the database, the higher position each professional takes.
So, at the top, you will see the specialists who fit your query the best.
There is no way you will run out of options. Though there are many professionals, they may not all fit your description, but all of them will be on the list. This will only increase your chances to find the right people.
All of the business contacts are sorted according to relevance as we have mentioned in the previous point, but you can also sort them alphabetically. This function is especially useful when you want to familiarize yourself with all the professionals even without having set any particular parameters in the search.
At the ExpoIQ, Apiko embedded Elasticsearch into a multi-step form when you first enter the marketplace platform. It breaks the long search form into short steps so that the process of completing it will be engaging. By allowing users to give their information in smaller parts, you provide a positive experience for your users and increase their involvement with the platform.
How we used Elasticsearch in online event planning marketplace
Let's explore some other Elasticsearch use cases. 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.
Why use Elasticsearch
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.