1

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

水族金鱼片

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

基本上我想在任何地方返回任何有鱼这个词的东西。

4

1 回答 1

4

关于什么

 CONTAINS([Description], '"fish"') 

或者

 FREETEXT([Description], 'fish') 

这能给你什么吗?

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

您还可以为全文搜索定义自己的同义词,例如将“goldfish”定义为“fish”的同义词 - 而您应该能够仅搜索“fish”并找到“goldfish”。

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

查看Understanding Full-Text Indexing in SQL Server - 在修改全文词库的文章中有一个很好的部分。

马克

于 2009-10-23T14:30:38.227 回答