惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
G
Google Developers Blog
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
J
Java Code Geeks
U
Unit 42
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
V
V2EX
T
Tailwind CSS Blog

博客园 - vuejs3

More on SQL Server Service Broker [转]Android试验:如果View的ID相同会出现什么效果? 父子关系排序,无确定根节点 Silverlight 操作技巧 [文摘]怎么使用Sticky Footer代码(让页脚紧贴页面底部的方法) Sharepoint development toolbox 通过对象模型上传List Template - vuejs3 - 博客园 在文档库中隐藏多文件上传/Disable the Upload Multiple Document option in Document Library - vuejs3 [转]SharePoint Document Library and List – File Upload ASP.NET 2.0 TreeView控件在IE7中断开的连接线 Team Foundation Server讲义 通过CertEnroll在CA上(1创建证书请求2得到证书3安装证书) SharePoint Web Service的身份验证 SharePoint开发中对ListViewWebPart的几个操作 【转】免费SharePoint资源 Enum操作技巧 LINQ概述-通用和便利的信息查询方式 NetShopForge网上商店程序(VB)源码—讨论-发布 Microsoft AJAX添加自定义智能感知(intellisense)
如何在WSS中利用KeywordQuery创建搜索查询
vuejs3 · 2008-12-08 · via 博客园 - vuejs3

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);