MOSS Search学习记录(十):MOSS Visual How To使用SharePoint Server 2007搜索对象模型编程创建搜索查询
2010-09-03 15:20
1191 查看
MOSS Search学习记录(十):MOSS Visual How To
使用SharePoint Server 2007搜索对象模型编程创建搜索查询
摘要:学习如何使用Microsoft Office SharePoint Server 2007 对象模型以编程的方式创建搜索查询。
适用于:Microsoft Office SharePoint Server 2007
Patrick Tisseghem, U2U
July 2007
简介
有两种方式可以以编程的方式进行搜索查询,一种是直接使用Microsoft Office SharePoint上下文中的对象模型,另一种是通过使用搜索的Web Service进行远程调用。Office SharePoint Server 2007对象模型提供了一套新的类,你可以使用它们编程执行一个搜索查询。
代码
以下代码需要添加Microsoft.Office.Server.Search.dll组件。示例代码中使用的主要命名空间是Microsoft.Office.Server.Search.Query。
构建一个关键字查询字符串
使用关键字语法构建一个查询字符串是比较简单的。在构建查询字符串的时候,在想要从查询结果中排除的关键字加上连字符(-)前缀;在向要包含在查询结果中的关键字加上加号(+)前缀。你也可以添加属性标准。下面的查询当执行时返回所有包含”Business”关键字并且不是由”Brian”撰写的文档。
构建一个全文检索字符串
使用SQL语言扩展方式的查询字符串允许更强大的搜索请求,支持全文检索,控制返回的字段,而且在条件中可以适用搜索范围和属性。下面是前面查询例子以全文查询字符串的形式来表示。
执行一个关键字查询字符串
执行关键字语法的查询字符串时,需要创建一个KeywordQuery类的对象实例,然后将它提供给服务器场中的Shared Services Provider(SSP)上下文。可以使用SPSite对象的一个实例来做这件事情。然后,然后给QueryText属性的查询字符串的执行和指派设置一个或多个属性。Execute方法返回一个包含查询结果的ResultTableCollection对象。使用ResultType枚举,可以设置需要返回的结果类型,然后将它们绑定到基于Windows或者ASP.NET的控件上。
执行一个全文检索字符串
使用全文检索方式的查询字符串,它的执行过程与前面的代码一样。但是,现在我们使用的是FullTextSqlQuery类。下面的代码示例显示了另一种提供给SSP上下文构造器的方法。这次,需要添加Microsoft.Office.Server.ServerContext引用来实现这个功能。
阅读
Microsoft Office SharePoint Portal Server 2003包含一个名为QueryProvider的类,可以编程执行搜索查询。这个类仍然可以使用,但是现在是否决的。Office SharePoint Server 2007提供了两个新的类;均继承自Query基类。
l KeywordQuery构建一个关键字语法来执行查询搜索。
l FullTextSqlQuery构建全文SQL语法来执行查询搜所。
两个的执行过程一样。
原文地址:http://msdn2.microsoft.com/en-us/library/bb626127.aspx
本文旨在帮助大家学习,帮助英文不好的MOSS爱好者,分享我的学习经验。如有错误请大家指出,共同进步:)
if ($ != jQuery) {
$ = jQuery.noConflict();
}
使用SharePoint Server 2007搜索对象模型编程创建搜索查询
摘要:学习如何使用Microsoft Office SharePoint Server 2007 对象模型以编程的方式创建搜索查询。
适用于:Microsoft Office SharePoint Server 2007
Patrick Tisseghem, U2U
July 2007
简介
有两种方式可以以编程的方式进行搜索查询,一种是直接使用Microsoft Office SharePoint上下文中的对象模型,另一种是通过使用搜索的Web Service进行远程调用。Office SharePoint Server 2007对象模型提供了一套新的类,你可以使用它们编程执行一个搜索查询。
代码
以下代码需要添加Microsoft.Office.Server.Search.dll组件。示例代码中使用的主要命名空间是Microsoft.Office.Server.Search.Query。
构建一个关键字查询字符串
使用关键字语法构建一个查询字符串是比较简单的。在构建查询字符串的时候,在想要从查询结果中排除的关键字加上连字符(-)前缀;在向要包含在查询结果中的关键字加上加号(+)前缀。你也可以添加属性标准。下面的查询当执行时返回所有包含”Business”关键字并且不是由”Brian”撰写的文档。
Business -isDocument:0 -author:brianc |
使用SQL语言扩展方式的查询字符串允许更强大的搜索请求,支持全文检索,控制返回的字段,而且在条件中可以适用搜索范围和属性。下面是前面查询例子以全文查询字符串的形式来表示。
SELECT Title, Rank, Write, Url FROM SCOPE() WHERE 'Scope'= 'Marketing Documents' AND FREETEXT('business') AND isDocument 1 0 AND author IS NOT 'Brian'} |
执行关键字语法的查询字符串时,需要创建一个KeywordQuery类的对象实例,然后将它提供给服务器场中的Shared Services Provider(SSP)上下文。可以使用SPSite对象的一个实例来做这件事情。然后,然后给QueryText属性的查询字符串的执行和指派设置一个或多个属性。Execute方法返回一个包含查询结果的ResultTableCollection对象。使用ResultType枚举,可以设置需要返回的结果类型,然后将它们绑定到基于Windows或者ASP.NET的控件上。
SPSite site = new SPSite("http://moss.litwareinc.com"); KeywordQuery kwq = new KeywordQuery(site); kwq.QueryText = textBoxKeyword.Text; kwq.ResultTypes = ResultType.RelevantResults; ResultTableCollection results = kwq.Execute(); ResultTable resultTable = results[ResultType.RelevantResults]; |
使用全文检索方式的查询字符串,它的执行过程与前面的代码一样。但是,现在我们使用的是FullTextSqlQuery类。下面的代码示例显示了另一种提供给SSP上下文构造器的方法。这次,需要添加Microsoft.Office.Server.ServerContext引用来实现这个功能。
ServerContext context = ServerContext.GetContext("SharedServices1"); FullTextSqlQuery qry = new FullTextSqlQuery(context); qry.ResultTypes = ResultType.RelevantResults; qry.EnableStemming = true; qry.TrimDuplicates = true; qry.QueryText = query; ResultTableCollection results = qry.Execute(); ResultTable resultTable = results[ResultType.RelevantResults]; |
Microsoft Office SharePoint Portal Server 2003包含一个名为QueryProvider的类,可以编程执行搜索查询。这个类仍然可以使用,但是现在是否决的。Office SharePoint Server 2007提供了两个新的类;均继承自Query基类。
l KeywordQuery构建一个关键字语法来执行查询搜索。
l FullTextSqlQuery构建全文SQL语法来执行查询搜所。
两个的执行过程一样。
原文地址:http://msdn2.microsoft.com/en-us/library/bb626127.aspx
本文旨在帮助大家学习,帮助英文不好的MOSS爱好者,分享我的学习经验。如有错误请大家指出,共同进步:)
if ($ != jQuery) {
$ = jQuery.noConflict();
}
相关文章推荐
- 使用SharePoint Server 2007搜索对象模型编程创建搜索查询
- 使用SharePoint Server 2007搜索对象模型编程创建搜索查询
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(1.通过BCS创建External List)
- 学习:使用SHAREPOINT对象模型开发时注意事项(转)
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(3.使用Linq to Sharepoint查询List内容)
- SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 4)
- Sharepoint学习笔记 –架构系列—Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构
- SharePoint服务器端对象模型 之 使用CAML进展数据查询
- SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 3)
- 全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧
- 【最佳实践】使用sharepoint对象模型编程时候的常见问题
- How to create custom navigation menu in SharePoint with XML data source 使用XML数据源在SharePoint创建自定义导航菜单
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
- How to create custom navigation menu in SharePoint with XML data source 使用XML数据源在SharePoint创建自定义导航菜单
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
- MSDN Visual系列:MOSS企业级搜索之三——创建和使用搜索范围
- Sharepoint学习笔记---SPList--使用Linq to Sharepoint间接查询External List(2.复制External List内容)
- Sharepoint学习笔记 –架构系列—Sharepoint的服务器端对象模型(Server Object Model) 3.服务层次结构
- 转:MSDN Visual系列:MOSS企业级搜索之三——创建和使用搜索范围