» Rust:使用ElasticSearch构建全文检索API » 1. 介绍 » 1.1 准备工作

准备工作

安装 Rust

查看如何安装Rust?

注意:该项目使用 rustc 1.77.2

选择编辑器

选择你喜欢的编辑器或使用 Visual Studio Code

学习 Rust 基础知识

如果你对 Rust 还不熟悉,可以尝试这个教程:《Rust快速入门》。

什么是全文检索

在文本检索中,全文检索是指在计算机存储的全文数据库中搜索单个文档或文档集合的技术。全文检索与基于元数据或数据库中原始文本局部直接匹配的搜索不同。

对数百万行文本数据进行 LIKE SQL 查询可能需要几分钟才能返回结果;而对相同数据进行全文查询可能只需要几秒钟甚至更短的时间。

Elasticsearch

es logo

Elasticsearch 是建立在 Apache Lucene 基础上的分布式搜索和分析引擎。自 2010 年发布以来,Elasticsearch 迅速成为最流行的搜索引擎,并常用于日志分析、全文检索、安全情报、业务分析等等。

Axum web 框架

Axum 是一个聚焦工程效率和模块性的 Rust web 框架。

简单样例:

use axum::{
    routing::get,
    Router,
};

#[tokio::main]
async fn main() {
    // build our application with a single route
    let app = Router::new().route("/", get(|| async { "Hello, World!" }));

    // run our app with hyper, listening globally on port 3000
    let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
    axum::serve(listener, app).await.unwrap();
}