How to build scaleable search engine using elasticsearch

How to build a search engine that can work like google search engine using open source elasticsearch database.

How to build scaleable search engine using elasticsearch

When we build a search engine our immediate attention is performance and scalability. Most of the application will struggles lot with reaching to standard performance. Searching is one of expensive workload in our server. if it is not managed properly it will affect other modules performance due to its heavy lifting.

Challenges

  1. Case sensitive
  2. Fuzzy Search
  3. Indexing
  4. Scalability
  5. Eats the memory
  6. Query
  7. Highlighters
  8. Type ahead (auto-complete)
  9. Suggesters (did-you-mean)
  10. Corrections (spell check)
  11. Geo queries

We need to solve these changeless to get better stable and performant search engine.

Ottawa road in the evening
Photo by Marc-Olivier Jodoin / Unsplash
Elasticsearch is a distributed, RESTful search and analytics engine capable of performing versatile use cases. Elasticsearch database is the heart of the Elastic eco system, it stores your data so you can discover the based on your use case.

How Elasticsearch is so fast? it is developed from the Apache Lucene engine. it is tailored with multi tenant, distributed , full text search and auto indexing in mind.

Why do we call its scaleable

  1. Clustering and high availability
  2. Automatic node recovery
  3. Automatic data rebalancing
  4. Horizontal scalability
  5. Cross-cluster replication
  6. Cross-datacenter replication

Elasticsearch supports real life searching scenarios we need geo match with queries.

example: Find near by hospital with dermatology

Elastic has open source and licensed version which can be installed in cloud as well on premise.

Get started

  1. On premise Installation
  2. Elasticsearch Cloud

Elastic Search PaaS

  1. App Search
  2. Web Search

Elastic App Search built with mind for Leverage the seamless scalability, tunable relevance controls.

Elastic App Search is optimised with ML powered relevance model, Typo correction, stemming and many more are included out of the box and it delivers real life search experience to the user.

Get started with App Search

Elastic Web Search is used by Shopify product search, it fully optimised for delivering the precise search results for end users.

Web Search automatically captures the index changes and delivers the fresh data. to the users. One of the complex challenge is understanding our users, We need to the understand our users to deliver better user experience. Web Search supports analytics insights out of the box which will help us to find what is trending and searched by our users.

Get started with Site Search

Summary

We have seen how to build highly scalable search engine with elastic search databased also we have seen what is App Search and Site Search.