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.
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.
- Case sensitive
- Fuzzy Search
- Eats the memory
- Type ahead (auto-complete)
- Suggesters (did-you-mean)
- Corrections (spell check)
- Geo queries
We need to solve these changeless to get better stable and performant search engine.
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
- Clustering and high availability
- Automatic node recovery
- Automatic data rebalancing
- Horizontal scalability
- Cross-cluster replication
- 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.
- On premise Installation
- Elasticsearch Cloud
Elastic Search PaaS
- App Search
- 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
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.