Tag: fuzzy search

用NHibernate对连续全名进行模糊搜索

我试图将以下SQL转换为NHibernate: SELECT * FROM dbo.Customer WHERE FirstName + ‘ ‘ + LastName LIKE ‘%’ + ‘bob smith’ + ‘%’ 我试图做这样的事情,但它不起作用: name = “%” + name + “%”; var customers = _session.QueryOver() .Where(NHibernate.Criterion.Restrictions.On(c => c.FirstName + ‘ ‘ + c.LastName).IsLike(name)) .List(); 我基本上要做的是能够在文本框中搜索客户名称,其示例值为“bob smith”,并使用上面SQL中的LIKE表达式搜索数据库。 如果我要错误地搜索FirstName和LastName列,请帮我一个替代方案,但上面的SQL查询可以得到我需要的东西。 更新2个解决方案: 所以我现在找到了解决这个问题的两个方案。 一种是使用Criteria API。 以下post的答案非常有用: https : //stackoverflow.com/a/2937100/670028 我找到了另一个解决方案,感谢我的一位有用的同事建议使用LINQ投影和匿名类型。 这是使用LINQ的解决方案: var customers […]

如何String.Contains()C#中的模糊方式?

我有一个我想在过滤时搜索的人员列表。 每次用户输入搜索字符串时,都会应用过滤。 需要考虑两个挑战: 用户可以输入部分名称 用户可能会输入错误 第一个是通过搜索子字符串简单解决的,例如String.Contains()。 第二个可以通过使用模糊实现来解决(例如https://fuzzystring.codeplex.com ) 但我不知道如何同时掌握这两个挑战。 例如:我想在进入以下任何一个时找到“Martin Fowler博士”的人: “马丁” “Fawler” “Marten Fauler” 我想我需要编写一个“FuzzyContains()”逻辑,它可以满足我的需求并具有可接受的性能。 任何建议如何开始?