This page describes some common alternatives for static site search.
Google’s programmable search engine is a search tool that crawls your live site and renders results on your website.
- Easy to configure and setup
- Multi-language support
- Support for image search
- Search across a specified collection of sites or pages
- No daily limits for queries or records.
- Search index is completely managed and hosted on Google servers.
DocSearch is a search tool powered by the Algolia search engine that crawls your docs and provides a dropdown search experience on your website.
- Provides Front-end widgets out of the box: search input, dynamic positioning of search results, etc.
- Integrations with popular frameworks
- Support for multi-language search.
- Not entirely free- Limited to 10k records
- Limited access to features.
Lunr.js is a small, full-text search library for use in the browser. Lunr enables you to provide a great search experience without needing external, server-side, search services.
- Support for offline search
- No external package dependency
- Completely free and open source
- Full power for customization
- Support for multi-language search
- Search index is completely managed and hosted by the owner.
- Can be complex to configure and setup (If a team is already using Hugo or Docsy, this should be very easy to setup).
- Depending on site setup, may require javascript knowledge
If you are looking to create a search capability for your open source project without having to depend on a 3rd party service, then you should consider using Lunr. You can take a look at this custom implementation or Hugo/Docsy implementation to see the different ways we used Lunr to implement search.
If you are looking to create a search engine that not only focuses on the contents of one website (site search), but on a particular topic from multiple sites, then you should consider the Programmable Search Engine (Google search).