SharePoint 使用 FullTextSqlQuery order by 的问题

在使用 FullTextSqlQuery 定制MOSS 2007的搜索时,遇到如下问题:

 

使用 order by 子句后,没有返回全部的查询结果(没有Order by时返回10条,加了Order by后,只返回5条)

查询语句为:select path,title,author  from scope() where (freetext('sharepoint'))  order by author

Google后找到一篇文章 MOSS Search with Order by Clause – Doesn’t return all results,  发现导致问题的原因是搜索结果中的某些记录的Order by 字段(如author字段)为Null,导致排序后为Null的记录没有返回。

 

解决办法:安装Hotfix 937208, 根据KB937775修改注册表

 

由于我的MOSS服务器已经打了SP2的补丁,Hotfix 937208已经包含在SP1中(可参考Office SharePoint Server Service Pack 1 content查看SP1的内容),故不需要安装了,只需按照KB937775修改注册表即可,但是修改完了之后,问题并没有如期的解决。

 

最后我只得通过其它方式绕过此问题:

1. 针对要搜索的Scope(此处仅为一个列表),新增一个字段记录Author_Name,保存创建者的名称。

2. 重新针对Scope执行完全爬网

3. 爬网结束后,新建爬网属性映射map_Author_Name映射到已爬网字段Author_Name

4. 将order by的字段Author,修改为: order by map_Author_Name

你可能感兴趣的:(SharePoint)