Hugo Search Fast

screenshot of Hugo Search Fast

Hugo Search Fast

hugo静态博客的搜索功能,可以在廉价的机器上运行,同时支持高性能的搜索。

Overview

hugo-search-fast is a search functionality extension for the Hugo static blogging platform. It allows for fast and efficient searching on low-cost machines while providing high-performance results. The project consists of two modules that can be opened separately or together in the root directory. It is recommended to use GoLand as the development tool. The search feature is primarily used for indexing and searching blog content using the Sonic search engine. The project architecture includes a comprehensive diagram showcasing the entire process of writing and publishing a static blog using Hugo.

Features

  • Supports search functionality for Hugo static blogs
  • Runs efficiently on low-cost machines
  • Utilizes the Sonic search engine for indexing and searching blog content
  • Provides a Gin Web framework API to interact with the search functionality
  • Easy deployment with support for Docker

Installation

To install the hugo-search-fast theme, follow these steps:

  1. Clone the hugo-search-fast project repository: git clone https://github.com/expectedsh/hugo-search-fast
  2. Open the two modules separately or together in the root directory using GoLand IDE.
  3. Install the Sonic search engine on your local machine or server. The recommended method is using Docker. If the server resources are not sufficient, proceed to the next step.
  4. Install Rust on your local machine. Use the following command to install Rustup:
    curl https://sh.rustup.rs -sSf | sh
    
  5. Configure the data source for crates if you are developing from China. Update .zshrc file for macOS or /etc/profile file for Linux.
  6. Install Sonic on your local machine by downloading the source code from the repository: git clone https://github.com/valeriansaliou/sonic. Compile the source code using the instructions provided in the repository.
  7. Use the build.sh script in the searchIndex project to generate the main executable file. Copy both the executable file and the conf.yaml configuration file to the server.
  8. Install and configure Nginx as a reverse proxy server for the search service.
  9. Follow the instructions provided in the project case study to create the necessary search functionality for your blog using ElementUI and Vue.

Summary

hugo-search-fast is a powerful extension for the Hugo static blogging platform, offering efficient search functionality that can be deployed on low-cost machines. It utilizes the Sonic search engine and provides a Gin Web framework API for easy integration. The installation process involves cloning the project repository, setting up the Sonic search engine, and configuring the deployment environment. With the search functionality in place, users can easily search and navigate through blog content.