我在 SQL Server 2000 和 2012 中使用全文索引。它工作得很好,除了用户需要能够搜索 ' * term * ' 而不仅仅是 'term * ' (也就是说,搜索需要返回的结果包含搜索词,而不仅仅是以搜索词开头)。
根据我阅读和研究的内容,这在 SQL Server 中是不可能的。
由于这是一项要求,并且使用 LIKE 运算符而不是全文太慢,我正在考虑将每个值分解为单词,并创建一个包含每个单词两次的特殊表 - 一次正常,一次反转 - 和相关项目的外键。
这是我能看到的实现不错速度的唯一方法。
有人做过吗?有谁知道任何其他解决方案?是否可以控制索引本身,向其添加反向值,而无需实际创建包含它们的列?