您的位置:首页 > 产品设计 > UI/UE

SharePoint 使用 FullTextSqlQuery order by 的问题

2010-04-20 11:35 453 查看
在使用 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: