我试图围绕如何搜索出现在单词/表达式中间的东西 - 比如搜索"LIKE%book%" - 但在SQL Server(2005)全文目录中.
我怎样才能做到这一点?在搜索表达式的开头几乎看起来好像两个CONTAINS并且FREETEXT真的不支持通配符- 真的可以吗?
我本以为FREETEXT(*, "book")会发现里面有"书"的东西,包括"重新预订"或类似的东西.
想象一个表 (table1) 有一个列 (column1) 和一个值为 'roll-over' 的记录。然后使用以下 SQL 查询,您将不会得到任何记录。
select * from table1 where contains(column1, ' "roll-over" ')
Run Code Online (Sandbox Code Playgroud)
有没有办法在搜索文本中转义连字符?到目前为止,我还没有成功尝试这个(我已经尝试了以下所有转义,但都没有成功)。
select * from table1 where contains(column1, ' "roll\-over" ')
select * from table1 where contains(column1, ' "roll!-over" ')
select * from table1 where contains(column1, ' "roll[-]over" ')
Run Code Online (Sandbox Code Playgroud)
另外,请注意我的应用程序无法使用 LIKE 关键字,因为我正在利用全文搜索索引。