15 个版本 (3 个稳定版本)
1.1.0 | 2022 年 10 月 24 日 |
---|---|
1.0.1 | 2022 年 7 月 18 日 |
0.6.0 | 2022 年 3 月 23 日 |
0.5.0 | 2021 年 12 月 22 日 |
0.2.1 | 2020 年 7 月 26 日 |
#2975 在 数据库接口
每月 115 次下载
用于 门户
66KB
1.5K SLoC
Sonic Channel
Rust 客户端,用于 sonic 搜索后端。
我们建议您从 文档 开始。
安装
最低 MSRV 是:1.58.1
在 Cargo.toml
中添加以下依赖项: sonic-channel = { version = "1.0" }
Cargo.toml
示例
[package]
name = "my-crate"
version = "0.1.0"
authors = ["Me <[email protected]>"]
[dependencies]
sonic-channel = { version = "1.0", features = ["ingest"] }
如果您想排除默认的 search
通道,请将 default-features = false
添加到依赖项中。
示例用法
搜索通道
注意:此示例需要启用 search
功能,默认已启用。
use sonic_channel::*;
fn main() -> result::Result<()> {
let channel = SearchChannel::start(
"localhost:1491",
"SecretPassword",
)?;
let objects = channel.query(QueryRequest::new(
Dest::col_buc("collection", "bucket"),
"recipe",
))?;
dbg!(objects);
Ok(())
}
摄取通道
注意:此示例需要启用 ingest
功能。
use sonic_channel::*;
fn main() -> result::Result<()> {
let channel = IngestChannel::start(
"localhost:1491",
"SecretPassword",
)?;
let dest = Dest::col_buc("collection", "bucket").obj("object:1");
let pushed = channel.push(PushRequest::new(dest, "my best recipe"))?;
// or
// let pushed = channel.push(
// PushRequest::new(dest, "Мой лучший рецепт").lang(Lang::Rus)
// )?;
dbg!(pushed);
Ok(())
}
控制通道
注意:此示例需要启用 control
功能。
use sonic_channel::*;
fn main() -> result::Result<()> {
let channel = ControlChannel::start(
"localhost:1491",
"SecretPassword",
)?;
let result = channel.consolidate()?;
assert_eq!(result, ());
Ok(())
}
可用功能
- 默认 - ["search"]
- search - 添加 sonic 搜索模式及其方法
- ingest - 添加 sonic 领取模式及其方法
- control - 添加 sonic 控制模式及其方法
依赖项
~2.5MB
~45K SLoC