我正在尝试找出根据商家名称和金额搜索列表的最佳方法。例如考虑以下事务类或目标:
public class Transaction
{
public string MerchantName;
public double Amount
public int Rank
}
搜索列表的输入可能是商家的“Acme”和金额的“13.37”。或“Amce”——Acme 拼写错误。天气商人的拼写 100% 正确或略有偏差 我想退回所有“Acme”交易。此外,基于输入金额的“接近度”和拼写与实际交易金额/名称的接近度,为交易提供排名或权重,以便 UI 层可以相应地呈现。
从概念上讲,我了解 SoundEx 和 Edit Distance 类型的算法,但在代码中实现这一点的实践经验为零。希望从这里的社区中汲取经验,您将获得指导。我知道这段代码可能(也许不是)更适合在 SQL 中实现(在我的情况下是 SQL),但现在我想看看这是否可以在应用程序代码中实现——c#。不过对 SQL 建议持开放态度。
谢谢