在Sql Server中进行部分搜索?

时间:2018-06-27 20:22:38

标签: c# .net sql-server full-text-search sql-like

什么是在sql数据库中进行搜索的最佳方法,我正在建立的网站将进行许多用户驱动的搜索。

我首先考虑使用sql server全文搜索,但是现在我发现它似乎不支持部分匹配

说我得到了这些数据。

Procter & Gamble
Google
Stackoverflow 
A&M Records

并且我想尝试查找带有&的任何内容

SELECT * 
FROM dbo.[Companies]
WHERE CONTAINS(Name,'&')

select * FROM [Companies]
WHERE FREETEXT(Name,'&') 
这些

都不返回任何结果。我将不得不使用

select * FROM [Companies]
WHERE Name like '%&%'

但是据我了解,全表扫描的速度可能很慢。因此,当我搜索大约500万条记录时,我不确定这将如何影响我的网站速度。

我知道这里存在弹性搜索,但是恐怕这将花费我很长时间才能学习,而且我的截止日期很紧,所以我需要一些可以在过渡时期工作的东西,然后我才能朝着更好的方向努力。< / p>

编辑

我应该添加另一个需要处理的用例,例如产品编号(例如,电视机的型号几乎相同,但末尾有一些字母)

Product A - 123456
Product B - 123456A
Product C - 123456B

因此,基本上,如果有人输入“ 123456A”,那么所有3个结果都应返回,这是我不确定“喜欢”是否可以做到的事情。

0 个答案:

没有答案