如何在WSS中利用KeywordQuery创建搜索查询
2008-12-08 13:12
281 查看
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);
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创建搜索查询(转)
- 如何利用opencv创建图像列表
- 如何利用phpMyAdmin创建数据库,设置编码 php apache MySQL
- Flex中如何利用树形控件(Tree Control)和SWFLoader控件创建简单图片相册的例子
- oracle如何利用语句一步一步创建用户并且给用户授权等操作
- 如何利用Runable创建线程
- spring in action 学习笔记三:对spring 容器的理解,以及如何利用AnnotationConfigApplicationContext这个容器创建对象
- 利用ATL创建com组件和如何在程序中使用组件的接口函数和设置接口的属性
- 如何利用窗体身份验证创建 GenericPrincipal 对象
- 如何利用C++ Builder 5.0 Enterprise 创建用户自己的网上聊天程序
- 如何利用JS动态创建标签并附于事件
- 如何利用C++ Builder 5.0 Enterprise 创建用户自己的网上聊天程序
- sql server中利用sql语句如何创建角色和用户
- 解析dll文件和lib文件的区别(如何利用VC创建DLL文件)
- 如何实现利用类成员函数创建线程 选择自 iceezone 的 Blog
- 如何利用Adobe AIR创建桌面对话应用程序
- 如何利用C#创建和调用DLL
- 如何利用C#创建和调用DLL
- 如何利用eclipse创建一个java web项目?