我尝试使用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);
}
1条答案
按热度按时间hivapdat1#
这个问题已经解决了-它不能正常工作的原因是函数ft\u sugget被定义为返回字符串,而实际上它应该返回字符串向量。