带有 Jaro-Winkler 相似距离算法的 EF Core
Posted
技术标签:
【中文标题】带有 Jaro-Winkler 相似距离算法的 EF Core【英文标题】:EF Core with Jaro-Winkler similarity distance algorithm 【发布时间】:2021-12-05 00:16:12 【问题描述】:我想使用一些相似距离算法(如 Jaro-Winkler)在我的数据库中搜索字符串。但是 EF Core 无法翻译此类表达式。所以你不能使用如下表达式:
query.Where(x => JaroWinkler.Similarity(x.Title, someText) > 0.5);
我的问题是如何使用 EF Core 实现这一点?有没有办法做到这一点?
【问题讨论】:
【参考方案1】:在您的数据库供应商 SQL 方言中实现算法并注册它https://docs.microsoft.com/en-us/ef/core/querying/user-defined-function-mapping
一些数据库供应商有一些用于全文搜索的比较算法或扩展(即MS Sql DIFFERENCE 或 FREETEXT)
或者在内存处理中使用。
【讨论】:
以上是关于带有 Jaro-Winkler 相似距离算法的 EF Core的主要内容,如果未能解决你的问题,请参考以下文章