如何按全文搜索完全匹配?

时间:2019-12-28 15:48:57

标签: sql sql-server full-text-search contains

我有此密码

Select [Field]
From [TBL]
where contains( [Field] , '"Tel: Come"' )

但结果是:

Tel: Come <br/>
Tel Come

我只需要给我看一下:电话:如果我搜索“电话来”,也来(完全匹配搜索),结果都是两者。

请帮助我修复此问题,以使结果完全匹配。

2 个答案:

答案 0 :(得分:0)

如果您想要完全匹配,则可以使用:

Select [Field]
From [TBL]
where [Field] = 'Tel: Come'

这可以利用[Field]上的 regular 索引。使用全文搜索获得完全匹配是非常棘手的;例如,诸如多个空格之类的东西将被忽略。

答案 1 :(得分:0)

如果您需要查找具有确切文本'Tel: Come'的行,那么全文索引将不再是您的后继。全文索引并非用于此类目的,而是用于查找单词(而非短语),并且不索引诸如:之类的字符。

因此,您可以使用LIKE,但不会从索引中受益:

SELECT [Field]
FROM [TBL]
WHERE [Field] LIKE '%Tel: Come%';