1 个不稳定版本

0.0.1 2019年11月23日

#54 in #full-text-search

MIT 许可证

6KB

naro

简单的全文搜索库

将文档映射为 map<word, > -> words...

https://serde.rs/field-attrs.html

file.try_clone


struct Index {}

impl Field {
}

use naro::fields::{Text,NGram};

#[derive(Searchable)]
struct Document {

    // id
    id: u64,

    #[naro(weight = 123)]
    pub title: Text,

    #[naro(weight = 12)]
    pub content: Text, 
    
    #[naro(weight = 12)]
    pub tag: NGram,
}

// Storage
struct Engine<T: Searchable + serde::Serialize> {

}

// Storage implementation 
impl <T> Engine <T> {

    pub fn new() -> Self {
    }

    pub fn add(&mut self, document: T) -> u32 {
    }

    pub fn delete(&mut self, id: u32) -> Error {
    }
} 

存储

由于这不是本项目的主要目标,我们不会编写自定义存储。
我们将使用RocksDB,因为它看起来是最合适的选择。

作者

Peter Vrba [email protected]

依赖项

~27MB
~552K SLoC