如何在WSS中利用KeywordQuery创建搜索查询(转)
2009-08-27 12:53
417 查看
转自:/article/4766123.html
WSS(Windows SharePoint Services)
KeywordQuery可执行关键字语法搜索查询,可以将搜索条件直接传递给搜索组件而无需通过搜索条件来分析以生成查询。
1.添加两个引用
Microsoft.Sharepoint
Microsoft.Sharepoint.Search
如果你使用MOSS操作可以引入Microsoft.Office.Server.Search
2.代码实现
类的构造函数具有两次重载;当实例化类时,必须指定网站集(作为 SPSite 类的实例)或者网站名称
DataTable resultsDataTable = new DataTable();
using (SPSite site = new SPSite("http://server/"))
{
KeywordQuery query = new KeywordQuery(site);
query.QueryText = queryText;
query.ResultTypes = ResultType.RelevantResults;
ResultTableCollection resultTables = query.Execute();
if (resultTables.Count > 0)
{
ResultTable relevantResults = resultTables[ResultType.RelevantResults];
resultsDataTable.Load(relevantResults, LoadOption.OverwriteChanges);
}
}
return resultsDataTable;
虽然在WSS中的返回的Microsoft.SharePoint.Search.Query.ResultType只能是RelevantResults,但是在代码中你还是必须要指明。否则不会返回任何ResultTable。
在Microsoft.Office.Server.Search.Query.RelevantResults可以用四种返回结果。
query.ResultTypes = ResultType.RelevantResults;
3.获取特定属性字段
默认返回以下属性字段:
Work ID
Rank
Title
Author
Size
Path
Description
Write
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
如果你想要返回确定的属性字段,设置query.SelectProperties,下面的实例只返回Title和Size
query.SelectProperties.Add("title");
query.SelectProperties.Add("size");
4.设置设置返回结果分页
int pageSize = 3;
int page = 0;
query.StartRow = page * pageSize;
query.RowLimit = pageSize;
5.设置返回结果排序
query.SortList.Add("Rank", SortDirection.Ascending);
query.SortList.Add("WorkId", SortDirection.Descending);
WSS(Windows SharePoint Services)
KeywordQuery可执行关键字语法搜索查询,可以将搜索条件直接传递给搜索组件而无需通过搜索条件来分析以生成查询。
1.添加两个引用
Microsoft.Sharepoint
Microsoft.Sharepoint.Search
如果你使用MOSS操作可以引入Microsoft.Office.Server.Search
2.代码实现
类的构造函数具有两次重载;当实例化类时,必须指定网站集(作为 SPSite 类的实例)或者网站名称
DataTable resultsDataTable = new DataTable();
using (SPSite site = new SPSite("http://server/"))
{
KeywordQuery query = new KeywordQuery(site);
query.QueryText = queryText;
query.ResultTypes = ResultType.RelevantResults;
ResultTableCollection resultTables = query.Execute();
if (resultTables.Count > 0)
{
ResultTable relevantResults = resultTables[ResultType.RelevantResults];
resultsDataTable.Load(relevantResults, LoadOption.OverwriteChanges);
}
}
return resultsDataTable;
虽然在WSS中的返回的Microsoft.SharePoint.Search.Query.ResultType只能是RelevantResults,但是在代码中你还是必须要指明。否则不会返回任何ResultTable。
在Microsoft.Office.Server.Search.Query.RelevantResults可以用四种返回结果。
query.ResultTypes = ResultType.RelevantResults;
3.获取特定属性字段
默认返回以下属性字段:
Work ID
Rank
Title
Author
Size
Path
Description
Write
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
如果你想要返回确定的属性字段,设置query.SelectProperties,下面的实例只返回Title和Size
query.SelectProperties.Add("title");
query.SelectProperties.Add("size");
4.设置设置返回结果分页
int pageSize = 3;
int page = 0;
query.StartRow = page * pageSize;
query.RowLimit = pageSize;
5.设置返回结果排序
query.SortList.Add("Rank", SortDirection.Ascending);
query.SortList.Add("WorkId", SortDirection.Descending);
相关文章推荐
- 如何在WSS中利用KeywordQuery创建搜索查询(转)
- 如何在WSS中利用KeywordQuery创建搜索查询
- 如何读取搜索创建的Lucene索引内容
- Github网站加载不完全,响应超时,如何解决 Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码。毫不夸张地说,高效利用Github是一
- dll文件和lib文件的区别(如何利用VC创建DLL文件)
- Oracle中如何创建约束,查询约束和删除约束(check约束,外键和主键约束)
- 使用ES如何创建子查询 PipelineAggregatorBuilders
- [译]LightSwitch 如何实现:在查询中创建和使用全局值(Eric Erhardt)
- 如何利用前序遍历序列和中序遍历序列非递归的创建二叉树
- 如何高效地利用百度搜索获得网络资源?
- 在开测试环境下,如何利用makecert.exe命令创建各种certificate
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- sql server中利用sql语句如何创建角色和用户
- sql server中利用sql语句如何创建角色和用户&数据库安全设置 给出了实例
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
- 如何创建IE8新增即时搜索建议功能Search AutoSuggestions
- (转)如何有效的利用数据字典进行查询
- Oracle如何实现利用实体化视图提高查询性能
- Entity Framework 如何在很多migrations的情况下重新利用package console 去创建新的数据库
- 谈谈如何利用店铺的百度搜索排名获得更多流量