mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-18 15:06:47 -05:00
56 lines
3.5 KiB
Markdown
56 lines
3.5 KiB
Markdown
|
---
|
||
|
title: Search tools
|
||
|
linkTitle: Search
|
||
|
description: See some of the open-source and commercial search options for your newly created Hugo website.
|
||
|
categories: [developer tools]
|
||
|
keywords: [search]
|
||
|
menu:
|
||
|
docs:
|
||
|
parent: developer-tools
|
||
|
weight: 40
|
||
|
weight: 40
|
||
|
toc: true
|
||
|
---
|
||
|
|
||
|
A static website with a dynamic search function? Yes, Hugo provides an alternative to embeddable scripts from Google or other search engines for static websites. Hugo allows you to provide your visitors with a custom search function by indexing your content files directly.
|
||
|
|
||
|
## Open source
|
||
|
|
||
|
[Pagefind](https://github.com/cloudcannon/pagefind)
|
||
|
: A fully static search library that aims to perform well on large sites, while using as little of your users' bandwidth as possible.
|
||
|
|
||
|
[GitHub Gist for Hugo Workflow](https://gist.github.com/sebz/efddfc8fdcb6b480f567)
|
||
|
: This gist contains a simple workflow to create a search index for your static website. It uses a simple Grunt script to index all your content files and [lunr.js](https://lunrjs.com/) to serve the search results.
|
||
|
|
||
|
[hugo-lunr](https://www.npmjs.com/package/hugo-lunr)
|
||
|
: A simple way to add site search to your static Hugo site using [lunr.js](https://lunrjs.com/). Hugo-lunr will create an index file of any HTML and Markdown documents in your Hugo project.
|
||
|
|
||
|
[hugo-lunr-zh](https://www.npmjs.com/package/hugo-lunr-zh)
|
||
|
: A bit like Hugo-lunr, but Hugo-lunr-zh can help you separate the Chinese keywords.
|
||
|
|
||
|
[GitHub Gist for Fuse.js integration](https://gist.github.com/eddiewebb/735feb48f50f0ddd65ae5606a1cb41ae)
|
||
|
: This gist demonstrates how to leverage Hugo's existing build time processing to generate a searchable JSON index used by [Fuse.js](https://fusejs.io/) on the client-side. Although this gist uses Fuse.js for fuzzy matching, any client-side search tool capable of reading JSON indexes will work. Does not require npm, grunt, or other build-time tools except Hugo!
|
||
|
|
||
|
[hugo-search-index](https://www.npmjs.com/package/hugo-search-index)
|
||
|
: A library containing Gulp tasks and a prebuilt browser script that implements search. Gulp generates a search index from project markdown files.
|
||
|
|
||
|
[hugofastsearch](https://gist.github.com/cmod/5410eae147e4318164258742dd053993)
|
||
|
: A usability and speed update to "GitHub Gist for Fuse.js integration" — global, keyboard-optimized search.
|
||
|
|
||
|
[JS & Fuse.js tutorial](https://makewithhugo.com/add-search-to-a-hugo-site/)
|
||
|
: A simple client-side search solution, using FuseJS (does not require jQuery).
|
||
|
|
||
|
[Hugo Lyra](https://github.com/paolomainardi/hugo-lyra)
|
||
|
: Hugo-Lyra is a JavaScript module to integrate [Lyra](https://github.com/LyraSearch/lyra) into a Hugo website. It contains the server-side part to generate the index and the client-side library (optional) to bootstrap the search engine easily.
|
||
|
|
||
|
## Commercial
|
||
|
|
||
|
[Algolia](https://www.algolia.com/)
|
||
|
: Algolia's Search API makes it easy to deliver a great search experience in your apps and websites. Algolia Search provides hosted full-text, numerical, faceted, and geolocalized search.
|
||
|
|
||
|
[Bonsai](https://www.bonsai.io)
|
||
|
: Bonsai is a fully-managed hosted Elasticsearch service that is fast, reliable, and simple to set up. Easily ingest your docs from Hugo into Elasticsearch following [this guide from the docs](https://bonsai.io/docs/hugo).
|
||
|
|
||
|
[ExpertRec](https://www.expertrec.com/)
|
||
|
: ExpertRec is a hosted search-as-a-service solution that is fast and scalable. Set-up and integration is extremely easy and takes only a few minutes. The search settings can be modified without coding using a dashboard.
|