gpt4 book ai didi

c# - 如何编写用于 Elasticsearch 匹配和模糊查询的 LINQ 表达式(NEST)

转载 作者:太空宇宙 更新时间:2023-11-03 23:17:25 25 4
gpt4 key购买 nike

你好有一个查询,我必须在其中使用模糊操作进行匹配。

{
"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))
)
));

希望对您有所帮助。

关于c# - 如何编写用于 Elasticsearch 匹配和模糊查询的 LINQ 表达式(NEST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com