全文搜索CONTAINSTABLE

时间:2009-07-14 14:37:49

标签: sql full-text-search

我对CONTAINSTABLE功能有疑问。我想找到与搜索字符串结束的所有内容。

我可以使用*来查找以searchvalue开头的所有内容,但我希望SQL LIKE函数中的%符号等效。

我想要的是:找到以123结尾的所有内容,所以作为searchvalue,我可以在我的CONTAINSTABLE函数中使用“* 123”。但这不起作用..

如果我想要所有以123开头的结果,我使用“123 *”,这样就可以了。

但是 - >的等价物是什么?喜欢%123?在CONTAINSTABLE函数中它不是“* 123”。 那是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

不幸的是,SQL Server全文搜索不支持搜索带有前导“%”的表达式 - 我自己尝试过,但它不受支持。

你可以为CONTAINS(“%postfix”)搜索CONTAINS(“表达式%”) - 但不是

马克

答案 1 :(得分:0)

这是我的解决方法:

我存储了全文列两次。一旦处于正常状态,另一个反向。查找包含“china”的所有值,我发出以下查询:

select * from MyBigTable 
where TheNormalColumn   contains ('"china*"')
   or TheReversedColumn contains ('"anihc*")

这是工作量的两倍,占用了两倍的空间,但它确实有效。