MeiliSearch/build.rs

28 lines
891 B
Rust
Raw Normal View History

use std::env;
use std::fs::File;
use std::io::{BufRead, BufReader};
use std::path::PathBuf;
use fst::SetBuilder;
fn main() {
let chinese_words_txt = "chinese-words.txt";
let out_dir = env::var("OUT_DIR").unwrap();
let chinese_words_fst = PathBuf::from(out_dir).join("chinese-words.fst");
// Tell Cargo that if the given file changes, to rerun this build script.
println!("cargo:rerun-if-changed={}", chinese_words_txt);
let chinese_words_txt = File::open(chinese_words_txt).map(BufReader::new).unwrap();
let chinese_words_fst = File::create(chinese_words_fst).unwrap();
let mut builder = SetBuilder::new(chinese_words_fst).unwrap();
for result in chinese_words_txt.lines() {
let line = result.unwrap();
if let Some(s) = line.split(' ').next() {
builder.insert(s).unwrap();
}
}
builder.finish().unwrap();
}