Rust client for [sonic] search backend.
We recommend you start with the [documentation].
Add sonic-channel = { version = "1.0" }
as a dependency in Cargo.toml
.
Cargo.toml
example:
```toml [package] name = "my-crate" version = "0.1.0" authors = ["Me user@rust-lang.org"]
[dependencies] sonic-channel = { version = "1.0", features = ["ingest"] } ```
Add default-features = false
to dependency, if you want to exclude default
search
channel.
Note: This example requires enabling the search
feature, enabled by default.
```rust 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(())
} ```
Note: This example requires enabling the ingest
feature.
```rust 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(())
} ```
Note: This example requires enabling the control
feature.
```rust use sonic_channel::*;
fn main() -> result::Result<()> { let channel = ControlChannel::start( "localhost:1491", "SecretPassword", )?;
let result = channel.consolidate()?;
assert_eq!(result, ());
Ok(())
} ```