如果我使用'%fish%',则返回以下内容

AQUARIAN GOLDFISH FLAKES

但如果我使用Contains([Description],'" fish *"'),那我可以做些什么吗?

基本上我想在任何地方返回任何带有单词fish的东西。

有帮助吗?

解决方案

怎么样?
 CONTAINS([Description], '"fish"') 

 FREETEXT([Description], 'fish') 

这会给你什么吗?

SQL Server全文索引不支持搜索带有前导通配符的表达式,例如你不能去 CONTAINS([Description],'" * fish *"')或类似的东西: - (

您还可以做的是为全文搜索定义自己的同义词,例如:定义“金鱼”成为“鱼”的同义词 - 你应该只能搜索“鱼”。并且还找到“金鱼”。

SELECT (list of fields) FROM YourTable
WHERE CONTAINS([Description], 'FORMSOF(THESAURUS, fish)')

查看了解SQL Server中的全文索引 - 关于修改全文同义词库的文章中有一个很好的部分。

马克

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top