TinySearch — это легкая, быстрая полнотекстовая поисковая система. Он предназначен для статических веб-сайтов.
TinySearch написан на Rust, а затем скомпилирован в WebAssembly для запуска в браузере. Его можно использовать вместе с генераторами статических сайтов, такими как Jekyll, Hugo, zola, Cobalt или Pelican.
Как это работает
tinysearch — это порт на Rust/WASM кода Python из статьи «Написание системы полнотекстового поиска с использованием фильтров Блума». Его можно рассматривать как альтернативу lunr.js и elasticlunr, которые довольно тяжелы для небольших веб-сайтов и требуют большого количества JavaScript.
Идея tinysearch состоит в том, чтобы сгенерировать небольшой автономный модуль WASM из списка статей на вашем веб-сайте и запустить его непосредственно во внешнем интерфейсе внутри браузеров.