Zola can build a search index from the sections and pages content to be used by a JavaScript library such as elasticlunr.
To enable it, you only need to set build_search_index = true
in your config.toml
and Zola will
generate an index for the default_language
set for all pages not excluded from the search index.
It is very important to set the default_language
in your config.toml
if you are writing a site not in
English; the index building pipelines are very different depending on the language.
After zola build
or zola serve
, you should see two files in your static directory:
search_index.${default_language}.js
: sosearch_index.en.js
for a default setupelasticlunr.min.js
As each site will be different, Zola makes no assumptions about your search function and doesn't provide the JavaScript/CSS code to do an actual search and display results. You can look at how this site implements it to get an idea: search.js.