Search has been one of the most reliable sources of information for users across the world.
Whenever we search a keyword into our search bar we are flooded with the most relevant information on the top and less relevant on the bottom. Within the shortest time and minimal effort, we get quality solutions.
Google has been the leader of search engines that is intaking millions of new queries every day and presenting with relevant solutions. Google however is for the common audience to send random queries.
Have you ever wondered how Amazon, Netflix, Instacart, Alibaba gives out near-to-perfect products for our complex search queries?
What all of their search engines have in common is Elasticsearch!
What is Elasticsearch?
Elasticsearch (ES) is an open-source, broadly-distributable, readily-scalable, enterprise-grade search engine.
Accessible through an extensive and elaborate API, Elasticsearch can power extremely fast searches that support your data discovery applications.
Elasticsearch is a distributed analytics and search engine built over Apache Lucene, a Java-based search and indexing library
Elasticsearch provides data management features like:
- Distributed cluster feature
- Sharding for Lucene indexes
- Advanced search
- Aggregation functionality
- Snapshot/restore module
Elasticsearch is considered to be one of the easiest search engines to develop and customize. It’s pre-built with sensible defaults and hides complex search and distribution mechanics from beginners.
Elasticsearch is a preferred choice for e-commerce applications, recommendation engines, and analysis of time-series – logs and metrics and geospatial information.
This search engine has encompassed our common day-to-day searches like autocomplete functionality, contextual suggesters, analyzing linguistic content, and more.
Benefits Of Adding Elasticsearch To Apps
Fast Full-text Search Against Large Volumes Of Data
The conventional SQL databases pose a major problem as they lack the ability to perform full-text searches, and underperform against loosely structured raw data that resides outside the database.
Elasticsearch solved this problem with inverted indexes. These indexes consist of a list of unique words that appear in each document, and for each word, a list of all documents in which it appears.
Search queries that took more than 10 seconds to give results using SQL are now giving results within 10 milliseconds in Elasticsearch.
Advanced Search & Recommendations Functionality
We all know the “did you mean?” results we get to our incorrect search queries on Google. Using the powerful Apache Lucene library and Elasticsearch-native functionality is how they enlightened our dumb brains.
Elasticsearch supports auto-completion functionality that helps point users to relevant documents as they type. Using the fuzziness parameter, completion suggesters return the probable result even if there is a typo in the query.
Using the advanced n-gram language model that breaks words into short morphological tokens that can be matched to user queries, Elasticsearch API makes it easy to correct queries with typos and suggest the most relevant content.
Highlighters are great for queries against “full-text” documents. For such types of documents, they can return all occurrences of the queried word or phrase. This can be used for enabling advanced search functionality in customer-facing applications.
Recommendation engines that store user interests as queries and match them against newly added documents like songs, movies, products are built by percolators.
In this model, user queries are stored as documents in the Elasticsearch index. Each of these queries runs against the documents of the other indexes to find relevant documents.
Logs and Processing
Fast and granular text search, advanced aggregation features, and the developed cluster distribution and sharding capabilities make Elasticsearch a great solution for storing and processing logs and metrics.
Preprocessed logs can be then aggregated and analyzed using Elasticsearch DSL queries, filters, and other features discussed above.
Also, Elasticsearch can be integrated with Kibana to visualize metrics and data providing cluster administrators and data analysts with an excellent representation of cluster and application state.
5 Company Use Cases For Elasticsearch
HappyFresh – Elasticsearch Fixes Multi-latency Issue
HappyFresh replaced its legacy e-commerce search with Elastic App Search in the early stages of the COVID-19 pandemic.
The surge in users was managed very well as HappyFresh engineers customized App Search and enabled the site’s data to be housed in regional cloud servers.
The ten-fold increase in web traffic and enhanced customer experience with quicker and more relevant searches resulted in maximizing profits with higher conversion rates, increased revenue, and higher consumer demand.
App Search on Elastic Cloud enables HappyFresh to scale at unprecedented speed, and it easily handled 10 times more shopping traffic when the Coronavirus pandemic hit. – Fajar Budiprasetyo, CTO, HappyFresh
OLX- Elastic Security For Managing Security Related Log Data
OLX couldn’t scale to capture the growing volume and variety of security-related log data that is critical for understanding threats.
For better-expanded visibility across their data estate, the OLX security team opted for the Elastic Security solution offered as part of the Elastic Stack.
After implementing Elastic Security, OLX was able to increase security-related log collection capacity from 500 GB per month to over 10TB per month, an increase of over 10x.
Asset monitoring coverage increased by 35%, improving the ability to investigate alerts in a unified view.
ShopBack – Index Supporting For 13 million products and 1 thousand different categories
ShopBack partners with more than 1,300 merchants in six different countries to entice online shoppers in the form of rewards and new store discoveries.
The search performance was lagging as product searches took an average of two seconds while bringing up a store listing could take up to 30.
ShopBack implemented a new Elastic Stack cluster to simplify logging and metric collection. The first cluster of ShopBack was spun within a few hours. With excellent indexing support, over 13 million products and 1 thousand different categories can now be accessed seamlessly.
Product searches now take as little as one millisecond and store listings appear in just four seconds!
Airbus – Elasticsearch For Real-Time Access to Aircraft Technical Documents
Airbus, the largest European aeronautics manufacturer, accounted for some 10,926 aircraft delivered to customers on every continent. With a commitment to make documentation for all its aircraft models available to its numerous operation and maintenance stakeholders, Airbus needed a better search engine.
Deployment of the Elastic Stack enabled a 6 TB database of technical documents available in less than 2 seconds via the aircraft manufacturer’s portal.
The new generation customized Elastic Stack satisfies 3000 requests per minute with a set of features that allow Airbus to guarantee access rights to authorized users and monitor the platform’s health.
The City of Portland Government – Elasticsearch Power For over 200,000 pages
With a population of well over 600,000, Portland is the largest city in Oregon and the second largest in the Northwestern United States.
The Elastic Site Search Service powers search on the City of Portland’s main website, www.portlandoregon.gov, which contains over 200,000 pages.
This became the Google search alternative used by all of the bureaus and offices within the City of Portland to host both public and intranet content. They also provide support to various web applications supporting such as online payments, business license registrations, and stormwater calculations.
The Future With Elasticsearch
The future is exciting for all who want to implement Elasticsearch in their apps. Tailored search integrations are still at the beginning in industries like hyperlocal delivery, e-commerce, social media, grocery, healthcare, and more.
The next step is towards innovations such as Open Commerce Search, chorus, and personalized searches.
In the prosperous years to come Elasticsearch might just be able to solve search queries in the trillionth of a second.
To Infinity and beyond!