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:

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.