如何仅在全文索引字段中搜索特定单词?
我知道我可以只做"where field='word'“,但我更希望搜索表单尽可能通用,并将搜索项抛给CONTAINS,FREETEXT函数。
似乎应该有一个单词边界或词组结束字符可以使用,但似乎没有一个。
我使用的是MS SQL Server 2005。
发布于 2011-02-25 00:04:14
要使用Contains或FreeText,必须对相关列建立全文索引。假设您这样做了,那么您可以通过用双引号括起来来强制搜索特定的单词:
Select ..
From Table
Where Contains( SomeCol, '"word"')CONTAINS (Transact-SQL)
更新
如果您要返回的结果中只包含您的搜索词,那么唯一的方法就是使用不带通配符的=或Like。也就是说,没有办法使用全文搜索谓词来搜索整个内容的精确匹配。因此,您必须使用:
Select ..
From Table
Where SomeCol = 'word'
Select ..
From Table
Where SomeCol Like 'word'https://stackoverflow.com/questions/5106944
复制相似问题