我在SQL Server 2008 R2中使用全文搜索,效果很好。我有一个新的要求,我需要能够搜索作为全文索引一部分的nvarchar(max)
列的前100个字左右。它不一定是单词,但可以是前300个字符,甚至可以是文本的20%。
我有一个模糊的回忆,SQL Server全文可能会保持其索引的关键字的位置,这就是它能够支持NEAR邻近搜索的原因。但是,我一直在搜索并且找不到任何方法来访问此元数据(如果它确实存在)。
最终我希望能够(a)将搜索限制为前100个左右的单词,或者(b)确定搜索词出现位置的位置以查看是否&# 39; s在前100个单词中。
如果使用SQL Server全文搜索无法做到这一点,我的计划是首先使用全文搜索来识别匹配的行,然后只在那些匹配的行上使用LIKE
与SUBSTRING/LEFT
一起查看如果搜索词位于文本的前100个字/ 300个字符/等中。