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
使用 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 使用 FullTextSqlQuery order by 的问题
- 使用 SearchInfo.QueryDefinition.OrderBy 时注意的问题
- SQLServer Full text 第一次使用会 timeout的问题
- 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题,this is incompatible with sql_mode=only_full_group_by错误
- Access text files using SQL statements by DB Query Analyzer
- Access text files using SQL statements by DB Query Analyzer
- mysql 1055错误的解决办法 【MYSQL5.7版本sql_mode=only_full_group_by问题】
- mysql5.7中的一个update order by排名问题解决办法(一条sql搞定排名)
- MySQL 5.7.9版本sql_mode=only_full_group_by问题
- MYSQL5.7版本sql_mode=only_full_group_by问题
- Hibernate使用二级缓存时,createSQLQuery需要注意的问题
- Hibernate使用二级缓存时,createSQLQuery需要注意的问题
- MySql版本问题sql_mode=only_full_group_by的完美解决方案
- MySQL 5.7.9版本sql_mode=only_full_group_by问题
- SQL语句where,Group By,having order by 的详细使用方法
- Access text files using SQL statements by DB Query Analyzer
- Hibernate 使用createSQLQuery查询时,缓存问题
- 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题
- MYSQL5.7版本sql_mode=only_full_group_by问题
- sql order by,desc和limit使用(mysql)