如何实现此搜索

本文关键字:搜索 实现 何实现 | 更新日期: 2023-09-27 17:59:50

我正在尝试开发一个搜索,使我能够完成这个

要搜索的字符串

This is a text

用户输入

this_is_a_text
this a text
tihs a txt <----notes that the user made a wrong input

但总是给我最好的巧合,那就是this is a text

我想知道是否可以使用containsfreetext。我也一直在考虑用c#中的一种方法逐个匹配所有记录,因为只有300条记录,并使百分比等于。但这只是一些想法,有人能帮我吗?

更新

我试过使用soundex功能,但它对我没有多大帮助。。。

如何实现此搜索

如果你想对数据进行一次性对账,最好将两个列表都加载到C#中进行匹配,然后使用编辑距离算法(如Levenstein distance)来迭代最佳匹配。可能非常耗时,但正如我所说——如果你只需要做一次。。。

你可以将此算法作为SQLServer中的一个函数来实现(在谷歌上搜索会发现很多人已经为你完成了这项工作…)。此外,像这样的算法可能会给出不必要或意外的匹配,而匹配者可能会选择另一种选择。

小心!

您可以使用replace方法。

var stringToSearch=userInputText.Replace('_','');

试试Soundex。