sonic-channel/README.md

1.3 KiB

Sonic Channel

Rust client for sonic search backend.

We recommend you start with the documentation.

Installation

Add sonic-channel = { version = "0.1" } as a dependency in Cargo.toml.

Cargo.toml example:

[package]
name = "my-crate"
version = "0.1.0"
authors = ["Me <user@rust-lang.org>"]

[dependencies]
sonic-channel = { version = "0.1" }

Example usage

Search channel

use sonic_channel::*;

fn main() -> Result<(), SonicError> {
    let mut channel = SonicChannel::connect("localhost:1491")?;

    channel.start(ChannelMode::Search, "SecretPassword")?;
    let objects = channel.query("collection", "bucket", "recipe")?;
    dbg!(objects);

    Ok(())
}

Ingest channel

use sonic_channel::*;

fn main() -> Result<(), SonicError> {
    let mut channel = SonicChannel::connect("localhost:1491")?;

    channel.start(ChannelMode::Ingest, "SecretPassword")?;
    let pushed = channel.push("collection", "bucket", "user:1", "my best recipe")?;
    dbg!(pushed);

    Ok(())
}

Available features

  • default - ["search"]
  • search - Add sonic search mode with methods
  • ignite - Add sonic ignite mode with methods
  • control - Add sonic control mode with methods