Search all the things.
Sorry I totally missed sending this last week. While I will strive not to do that again, it is going to happen. Hopefully you can all manage. ;) That said, I’m still interested in hearing about your free/cheap tools and services. Simply reply to this email.
Search is another one of those features that people point to when arguing against static sites. How can you search your site without servers? As it turns out, there are a number of ways.
Most link I have listed below are services which will index your site and provide an API that you can used to search your content. In fact, you could just use Google custom search for this, but I believe there are ads associated with that, so it is up to you. It is a decent fallback.
Another option is to build a search index at compile time, since you typically have all of your content available. Then you can use a JavaScript tool to load that index and do your own searching without a server.
Algolia
When it comes to search integration services, Algolia is usually what people mention first. And for a good reason. They are very full featured and offer a solid community plan free for non-commercial applications. So if you want something for your personal blog or hobby application, this is good choice.
Bonsai
Bonsai is a little bit different in that it isn’t a specific site search tool, it is a hosted elasticsearch service. As such it is a lot more flexible, but also likely not as easy to get up and running out of the box. They do offer a free hobby plan, so if you think elasticsearch would help your site or application, these guys seem like a good option.
CloudSh
CloudSh seems to be focused on static sites, which is perfect for our needs. They index periodically, or you can run a manual indexing, like when you deploy. Their unit of measurement is pages, and if you have fewer than 300, you can use their flee plan.
Lunr
Lunr isn’t a service, it is a JavaScript library which you can run in the browser (or in Node.js) to index your site and provide search capabilities over that index. It makes sense to create this index as you are building your site and I’m sure you can find articles of people using it with various static site generators. Here is one I found for combining Lunr and Hugo.
Adding search to a JAMstack site
Using progressive enhancement, JavaScript and a static site generator to create site search facility. It uses a similar idea to Lunr, but much simpler.
https://www.hawksworx.com/blog/adding-search-to-a-jamstack-site/