Sql server 2008 r2 如何在SQL Server上按文本出现顺序排序全文查询?

Sql server 2008 r2 如何在SQL Server上按文本出现顺序排序全文查询?,sql-server-2008-r2,full-text-search,Sql Server 2008 R2,Full Text Search,我最近开始在使用SQLServer2008R2开发的文档搜索系统中使用全文索引。我在一列中有二进制文件,在另一列中有PDF文件中的剥离文本;全文索引位于文本列上 我进行了空搜索(可能是b/c,我不知道如何表达这个问题),但我需要弄清楚如何按文本出现顺序排列结果。例如,如果有人正在搜索字符串“book”,我希望根据文本中“book”出现的次数对查询进行排序。我建议使用第三方库来处理搜索。一个好的搜索引擎不仅仅是一个字符串查找器 话虽如此,我理解按照您的说明实现文本查找器对您仍然有用。可以使用函数计

我最近开始在使用SQLServer2008R2开发的文档搜索系统中使用全文索引。我在一列中有二进制文件,在另一列中有PDF文件中的剥离文本;全文索引位于文本列上


我进行了空搜索(可能是b/c,我不知道如何表达这个问题),但我需要弄清楚如何按文本出现顺序排列结果。例如,如果有人正在搜索字符串“book”,我希望根据文本中“book”出现的次数对查询进行排序。

我建议使用第三方库来处理搜索。一个好的搜索引擎不仅仅是一个字符串查找器

话虽如此,我理解按照您的说明实现文本查找器对您仍然有用。可以使用函数计算子字符串出现的次数

我修改了Andy Robinson的自定义拆分函数

然后像这样使用它来查找匹配项最多的页面:

SELECT TOP 1 page_id
    , page_text 
FROM pages
ORDER BY dbo.countOfSubString(page_text, search_text) DESC
SELECT TOP 1 page_id
    , page_text 
FROM pages
ORDER BY dbo.countOfSubString(page_text, search_text) DESC