如何从生 rust 的重新搜索中检索数据?

vql8enpb  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(232)

我尝试使用trust并使用ft.sugget命令从redisearch获取自动完成数据,但它最终检索到一个none值,即使当我直接使用命令提示符运行ft.sugget时,它会正确地给出响应。这是我的代码,它的格式可以很好地与redis中的set和get一起工作。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);
}
hivapdat

hivapdat1#

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

相关问题