It doesn’t do live crawling, so might not be quite what you want, but I built Stork Search (https://stork-search.net) to solve full-text search for static sites.
Today, you’d run a binary as part of a site’s build or deploy process, feeding in the input files. It generates a search index which you deploy alongside your site. The project’s JS library will load that index and turn it into a client-side interactive search interface.
I’d be curious to see if this sounds interesting or workable for you - you mentioned that you don’t want to host your own index, but does that change if “hosting the index” feels similar to hosting an image, instead of spinning up a server?
I’d be interested in building a paid addition that will crawl your site & host the index - you’re probably the 2nd person I’ve seen with that suggestion. Please let me know if you’d be interested in being a beta user.
I actually tried Stork this morning after reading about it on console.dev awhile back (it's been on my list). I had high hopes, but I found the result sets to be a bit less-than-stellar for technical docs, and typing performance also seemed to take a hit. Both of these may totally be on me -- possibly due to the fact I didn't optimize any settings, and maybe my index size. But that's actually why I'm here... I just got tired of tinkering. I want something I don't need to tinker with.
If those things can be improved, I'd love to be a beta tester for a hosted solution. I'd love to not have to handle this myself.
Follow up: I spent more time with Stork last night and I think I have it in a decent place. And after some fine tuning regarding indexed content, and some brotli/gzip compression, the index size isn't too bad (<3MB vs >30MB). Still having issues around excluding elements from the index, but maybe I'll spend some more time here when I can.
I'm definitely interested in a hosted solution that "just works" so I don't need to keep tinkering with it.
Self-hosted Stork is definitely possible, and definitely something I want to build! I've been focusing on a different type of user for the 1.0.0 (the user who wants to paste in a single script tag), and there are still some last experience improvements I want to make for those folks, but I completely recognize the value of self-hosting code like this and want to build something into Stork that will fill that niche, as well.
For now (and I haven't tried this for self-hosting, so use at your own risk) -- the whole project (incl. the final JS file and the WASM blob) can be built from source. Tweaking the build a little bit would probably get you most of the way there.
I keep wanting to try that! Sharding the index would be really cool, and would definitely allow for a seemingly infinite index size. The barrier, as you were getting to, would be making sure index shard downloads could keep up with typing speed.
Definitely something I'll try experimenting with in the future, so... watch this space, perhaps?
I've been working on Stork for just over a year! I recently wrote a blog post about what building it has been like -- if you're interested in the project, definitely check the blog post out!
Oh no! If it's any consolation, I think it might be the site itself, not the search plugin... the site has been acting up in unrelated ways. The site desperately needs a rewrite, but I didn't have time before this launch date.
Apologies for this! Someone's very kindly put up a PR[0] that I suspect will fix this, but it's past my bedtime so I won't get a chance to review/merge/relaunch it until tomorrow.
I've been a fan of Matthias' project for a while. I learned about it soon after starting Stork: https://stork-search.net
They're very similar and share a lot of principles, though Matthias went full-on towards the algorithmic aspect and I focused on the experience of including the UI (copy-pastable from the code on the home page) and building a search index.
I think WASM-aided in-browser search is really exciting! There are clear benefits for content creators (embedding search on a Jamstack site has historically been tricky) and for users alike (Caching & offline support is pretty rad if your users are doing a lot of searching). I'm excited to see Matthias' project get attention here!
The Apple Pay button is a browser feature and unless you mimic it using CSS, it will only show up if you're in a supported region with a supported device that has apple pay enabled and cards added.
Campuses also have this kind of security. I can't use a Chromecast or a Google Home on my college campus because my school's IT team blocks all DNS servers except their own.