如何使用 Rust 从 RediSearch 检索数据?

How to retrieve data from RediSearch with Rust?

我正在尝试使用 Rust 并使用 FT.SUGGET 命令从 RediSearch 获取自动完成数据,但它最终检索到 None 值,即使我 运行 FT.SUGGET 直接在命令提示符下它会正确给出响应。这是我的代码,它的格式非常适合 sets 和 gets 在 Redis 中。 FT.SUGADD 在这方面也能正常工作。感谢以后的帮助!

pub fn ft_sugadd(index: String, field: String) -> redis::RedisResult<()>
{
    let client = redis::Client::open("redis://127.0.0.1/")?;
    let mut con = client.get_connection()?;
    redis::cmd("FT.SUGADD").arg(index).arg(field).arg("1".to_string()).query(&mut con)?;
    Ok(())
}

pub fn ft_sugget(index: String, field: String) -> redis::RedisResult<String>
{
    let client = redis::Client::open("redis://127.0.0.1/")?;
    let mut con = client.get_connection()?;
    let data_value = redis::cmd("FT.SUGGET").arg(index).arg(field).arg("fuzzy".to_string()).query(&mut con)?;
    Ok(data_value)
}

fn main()
{
    ft_sugadd("dictionary".to_string(), "Bob".to_string()).ok();
    let remember = ft_sugget("dictionary".to_string(), "Bo".to_string()).ok();
    println!("Hello {:?}", remember);
}

这个问题已经解决 - 它不能正常工作的原因是函数 ft_sugget 被定义为 return 字符串,而实际上它应该是 return字符串向量。