Как получить данные из RediSearch с помощью Rust?

Я пытаюсь использовать Rust и получить данные автозаполнения из RediSearch с помощью команды FT.SUGGET, но в итоге получается значение 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);
}

person Yun Jae Jung    schedule 26.09.2020    source источник
comment
тебе удалось?   -  person Guy Korland    schedule 08.11.2020
comment
да, я должен был удалить этот вопрос некоторое время назад.   -  person Yun Jae Jung    schedule 09.11.2020
comment
Можете ли вы опубликовать самостоятельный ответ?   -  person Guy Korland    schedule 09.11.2020


Ответы (1)


Этот вопрос был решен - причина, по которой он не работал должным образом, заключается в том, что функция ft_sugget определена для возврата строк, хотя на самом деле она должна возвращать вектор строк.

person Yun Jae Jung    schedule 10.11.2020