0

我正在尝试使用 Rust 并使用 FT.SUGGET 命令从 RediSearch 获取自动完成数据,但它最终检索到 None 值,即使当我直接使用命令提示符运行 FT.SUGGET 时,它也会正确给出响应。这是我的代码,它的格式在 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);
}
4

1 回答 1

0

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

于 2020-11-10T01:27:42.607 回答