嗨,有一个查询,其中我必须使用模糊运算进行匹配。
{
"query": {
"match": {
"answer": {
"query": "conevrt o",
"fuzziness": 2
}
}
}
}
当我尝试使用Lambda表达式样式编写此代码时,出现错误消息,提示无法将int转换为NEST.fuzziness。
这是我对lambda表达的看法。
match = drFuzzy.Text; //im getting text from the asp:dropdown(hardcoded 0,0.5,1,2)
int fuzz = Int32.Parse(match); // converting this to integer
var searchResponse = client.Search<StudResponse>(s => s
.Query(q => q
.Match(m => m
.Field(f => f.Answer)
.Query(key1)
.Fuzziness(fuzz) //throwing an error here. cannot convert from int to Nest.Fuzziness
)
)
);
提前致谢。
最佳答案
要传递fuzinness参数,您将必须使用Fuzziness
类和EditDistance
方法。 NEST文档提供了一个非常漂亮的match query usage示例,看看。
这是在用例中使用Fuzziness.EditDistance(..)
代码的方式。
client.Search<StudResponse>(s => s
.Query(q => q
.Match(m => m
.Field(f => f.Answer)
.Query(key1)
.Fuzziness(Fuzziness.EditDistance(fuzz))
)
));
希望能帮助到你。