Question 94
You need to create a custom application that provides users with the ability to create a managed property.
The managed property name must be specified in the args[1] parameter.
You write the following code segment for the application. (Line numbers are included for reference only.)
01 SPSite currentSite = new SPSite("http://intranet");
02 SearchContext context = SearchContext.GetContext(currentSite);
03 Schema schema = new Schema(context);
Which code segment should you add to the application?
A. context.SearchApplication.CrawlStores.Create(args[1]);
B. ManagedPropertyCollection properties = schema.AllManagedProperties;
ManagedProperty newMng = properties.Create(args[1], ManagedDataType.Text);
C. ManagedPropertyCollection properties = schema.AllManagedProperties;
ManagedProperty newMng = properties.CreateCrawlMonProperty();
newMng.Name = args[1];
D. schema.AllCategories.Create(args[1], Guid.NewGuid());

解析:
  本题的意图是想通过代码来创建托管属性(Managed Property)。
首先让我们来大致了解什么是托管属性,托管属性(Managed Property)是可通过其他方法(例如,在搜索结果中显示数据)进行搜索或使用的元数据。默认索引架构提供一组从已爬网属性到托管属性的映射。在使用内容 SSA 进行爬网时,将修改默认映射以适应常见内容格式。特定内容源或其他索引连接器可公开其他更适用于您内容的已爬网属性。
可以将一个托管属性与一个或多个全文本索引关联。您必须使用全文本索引以获得查询的排名结果。
可以为一个托管属性启用查询优化,以便将此属性中的数据添加为查询结果页上的深化选项。
可以为托管属性配置命中突出显示摘要。它是在每个查询结果的搜索结果页上出现的托管属性的摘要。此摘要会显示来自包含查询文本的项的摘要,并会将突出显示格式应用于查询文本。可以使用 ManagedProperty.SummaryType 属性启用此功能。默认情况下,为 body 属性和 title 属性配置命中突出显示摘
SharePoint站点中的列表和文档库都具有其特定专有的属性。当爬网器索引这些容器中的内容时,这些定制的元数据都会被搜集起来。管理员可以把这些自定义的元数据暴露给用户,以便可以在搜索中心中用于检索。在高级搜索页面中有一个属性选取器,可以选取这些托管属性。我们可以在高级搜索页面的属性选取器中添加一个托管属性,只需要扩展一下附加在选取属性的高级搜索框上的XML即可。
托管属性常用于搜索纵向市场,因为它们能为您提供一种方法,定义与用来筛选、报告和/或细化目的的数据相关联的自定义属性。在 SharePoint 2010 和先前版本的 SharePoint 中,对于如何使用托管属性有一定限制,因此用起来较为麻烦:
  在 SharePoint 2013 中,则去除了限制,增加了可访问性。您仍然可以在 Search Service 应用程序 (SSA) 层次级别创建托管属性,但您现在还可以在网站集级别创建托管属性。整个过程如同以前一样开始,先创建一个已爬网属性。然而,这里新增了一项功能,那就是当您在 SharePoint 2013 中创建一个网站栏时,它会被自动 配置成一个已爬网属性,就在您打算开始执行第一次爬网前。
   在进行托管属性的编程时,我们常常要用到如下的相关接口:
1.ManagedProperty:指定一个托管属性。
2.ManagedPropertyCollection:指定托管属性的集合。
可使用 ManagedPropertyCollection.Create 方法创建托管属性。【这就是本题用到的】
3.CrawledProperty:已爬网属性是一些元数据,从内容源提取这些元数据可使数据能用于搜索。
可使用 ManagedProperty.SetCrawledPropertyMappings 方法配置已爬网属性映射。
4.FullTextIndex:利用全文本索引,可同时在多个托管属性中进行查询。
可使用 ManagedProperty.GetFullTextIndexMappings 方法将托管属性映射到一个或多个全文本索引。
5.RankProfile:可使用排名配置文件指定如何对查询结果进行相关性排名。
可使用 RankProfile.GetManagedPropertyBoosts 方法来关联托管属性提升配置。
可使用 RankProfile.GetQualityComponents 方法来关联用于质量排名的托管属性。
6.RefinerConfiguration:利用查询优化,可以使用为一个查询结果计算的聚合统计数据来优化该查询结果。
可通过将 ManagedProperty.RefinementEnabled 属性设置为 True 来将查询优化与托管属性关联。这将为该托管属性创建 RefinerConfiguration。
可使用 ManagedProperty.GetRefinerConfiguration 方法和 ManagedProperty.SetRefinerConfiguration 方法修改 RefinerConfiguration。
 于是回过头来看本题,本题要求创建一个托管属性,由上我们知道,需要用到ManagedPropertyCollection。进一步研究其成员。找到Create方法,此方法用于向托管属性集中添加新的托管属性。Create方法的说明如下:

public ManagedProperty Create(
string name,
ManagedDataType managedType
)

这是一个带两个参数的方法,name即为新创建的托管属性的名称。ManagedDataType取值于枚举,可为: Unsupported,Text,Integer,Decimal,DateTime,YesNo,Binary,Double等类型。
  所以回到本题的备选项,可以快速 地定位选项B是正确答案。
选项A. context.SearchApplication.CrawlStores.Create(args[1]); 这里的CrawStores是一个属性,此属性用于返回由当前的SearchServiceApplication管理的所有的 CrawlStoreCollection对象。CrawlStoreCollection的Create方法是用来根据给定的Connection String创建一个新的爬网数据库。
选项C. ManagedPropertyCollection properties = schema.AllManagedProperties;
ManagedProperty newMng = properties.CreateCrawlMonProperty();
newMng.Name = args[1]; // CreateCrawlMonProperty 方法是用于创建或返回一个名叫'CrawlMonProperty'.的特殊的托管属性
选项D. schema.AllCategories.Create(args[1], Guid.NewGuid());//本选项先是返回CategoryCollection 对象,此对象是搜索服务程序的metadata schema中存在的Crawled Property Categories。此选项与托管属性操作没什么关系。
所以本题目正确选项应该是B
参考:
http://msdn.microsoft.com/en-us/library/microsoft.office.server.search.administration.managedpropertycollection.create.aspx
http://msdn.microsoft.com/zh-cn/library/ff464344(v=office.14).aspx#schema_concepts_managed
http://msdn.microsoft.com/en-us/library/microsoft.office.server.search.administration.managedpropertycollection_members.aspx
http://msdn.microsoft.com/en-us/library/ee585012(v=office.14).aspx

Question 95
You need to create a Web Part that displays all of the content created by a specific user.
You write the following code segment. (Line numbers are included for reference only.)
01 private void keywordQueryExecute(string searchAuthor)
02 {
03   KeywordQuery kRequest = new KeywordQuery(ServerContext.Current);
04  
05   kRequest.QueryText = strQuery;
06   ResultTableCollection resultTbls = kRequest.Execute();
07 }
Which code segment should you add at line 04?
A. string strQuery = "author:" + searchAuthor;
B. string strQuery = "docID:" + searchAuthor;
C. string strQuery = "SELECT Title, Rank, Write, Url FROM SCOPE() WHERE author = " + searchAuthor;
D. string strQuery = "SELECT Title, Rank, Write, Url FROM SCOPE() WHERE docID = " + searchAuthor;

解析:
  本题用到了KeywordQuery类,此类属于Microsoft.SharePoint.Search.Query命名空间.
Windows SharePoint Services 搜索提供一个新的查询对象模型,可以在自定义搜索 Web 部件和搜索应用程序中使用此模型来执行对搜索服务的查询。此查询对象模型是在 Microsoft.SharePoint.Search.dll 中找到的 Microsoft.SharePoint.Search.Query 命名空间中实现的。
若要使用查询对象模型,则必须设置对以下 DLL 的引用:Microsoft.SharePoint.Search.dll 和Microsoft.SharePoint.dll。
Microsoft.SharePoint.Search.Query 命名空间包括三个查询类:
1.Query  此类不适合于直接从代码中使用,但适合于作为搜索查询对象模型类的基实现。在代码中,请使用 FullTextSqlQuery 和 KeywordQuery 类。
2.FullTextSqlQuery  使用此类可执行 SQL 语法搜索查询。
3.KeywordQuery  使用此类可执行关键字语法搜索查询。
 本题就是使用关键字语法进行搜索查询。
Windows SharePoint Services 搜索包含用于生成关键字查询的新的关键字语法。此语法比 SQL 搜索语法更易于使用,原因是无需通过搜索条件进行分析以生成 SQL 语句;将搜索条件直接传递给搜索服务。
可以在 Windows SharePoint Services 搜索关键字查询中传递两类条件:
1.关键字(搜索请求的实际查询单词)
2.属性筛选器(搜索请求的属性约束)
可以将下列任一项用作关键字:
1.一个 word(包括一个或多个不带空格或标点的字符)
2.一个 phrase(包括两个或多个连在一起的单词,它们之间用空格分隔,但单词必须用引号引起来)
3.一个 prefix(包括单词的从头开始的一部分)
有了上面的知识铺垫,回到本题,本题要根据某个创建者去搜索它所创建的内容。由于使用的是KeywordQuery 关键字语法搜索,所以可以直接排除C.D,因为它们都是基于SQL语句在创建搜索查询。至于B,由于它是把docID作为过滤条件,所以不符合本题应该把创建者作为过滤条件要求。 所以选项B也应排除。
因此本题目正确选项应该是A
参考:
http://msdn.microsoft.com/en-us/library/ff394509.aspx
http://msdn.microsoft.com/zh-cn/library/ms467796(v=office.12).aspx

Question 96
You need to create a Web Part that displays all of the content created by a specific user.
You write the following code segment. (Line numbers are included for reference only.)
01 FullTextSqlQuery qry = new FullTextSqlQuery(ServerContext.GetContext(SPContext.Current.Site));
02 qry.ResultTypes = ResultType.RelevantResults;

04 qry.QueryText = strQuery;
05 ResultTableCollection results = qry.Execute();
Which code segment should you add at line 03?
A. string strQuery = "author:" + searchAuthor;
B. string strQuery = "docID:" + searchAuthor;
C. string strQuery = "SELECT Title,Author,Path FROM SCOPE() WHERE author = '" + searchAuthor + "'";
D. string strQuery = "SELECT Title,Creator,Path FROM SCOPE() WHERE docID = '" + searchAuthor + "'";

解析:
 本题是Question95的延续,只不过使用是FullTextSqlQuery 类的SQL 语法搜索查询。
Windows SharePoint Services 搜索通过 SQL 语法提供对构造复杂搜索查询的支持。在使用 SQL 语法搜索查询时,可使用的示例包括:
1.比较运算符,例如“>”、“<”或“=”。有关详细信息,请参阅文字值比较。
2.多个逻辑运算符,例如 AND、OR 和 NOT。有关详细信息,请参阅 WHERE 子句。
3.通配符搜索。有关详细信息,请参阅在 CONTAINS 谓词中使用通配符。
Windows SharePoint Services 搜索查询类似于标准 SQL 查询,如语法中所示。
SELECT <columns>
FROM <content source>
WHERE <conditions>
RANK BY <conditions>
ORDER BY <columns>
  回到本题再结合要求(仍然是根据创建者进行搜索)就很容易能确定答案了。
所以本题目正确选项应该是C
参考:
http://msdn.microsoft.com/zh-cn/library/ms443580(v=office.12).aspx http://msdn.microsoft.com/en-us/library/ms455094.aspx

Sharepoint学习笔记—习题系列--70-573习题解析 -(Q94-Q96)的更多相关文章

  1. Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现

    如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...

  2. Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现

    文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...

  3. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  4. Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录

                  Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...

  5. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. [LeetCode] “全排列”问题系列(二) - 基于全排列本身的问题,例题: Next Permutation , Permutation Sequence

    一.开篇 既上一篇<交换法生成全排列及其应用> 后,这里讲的是基于全排列 (Permutation)本身的一些问题,包括:求下一个全排列(Next Permutation):求指定位置的全 ...

  2. java框架篇---spring IOC依赖注入

    spring依赖注入的方式有4种 构造方法注入 属性注入 工厂注入 注解注入 下面通过一个实例统一讲解: User.java package com.bjsxt.model; public class ...

  3. Oracle---.oracle函数

    数值型函数: 绝对值: ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 [示例] select abs(100),abs(-100) from dual;-------- ...

  4. PIN码计算锦集

    1. 腾达,C8:3A:35开头的MAC有效~network路由,MAC有效~以及00B00C开头的MAC有效之外的请您自己发现算法..这里只公布三个MAC地址算法,其余也可以算~这里就不公布出来了. ...

  5. `cocos2dx非完整`开篇

    相信每个人都有一些自己的项目开发习惯,在·开篇·中我主要是会提到一些项目的配置问题.无论做一款什么样的手游项目,我们总是会从需求的角度出发去选择开发引擎,开发工具等一些列的工具去完善我们的开发环境.当 ...

  6. Python使用libsvm的“ImportError: No module named svmutil”问题

    from:http://blog.csdn.net/xmu_jupiter/article/details/46830327 这几天快被Python的一些细节问题整死了,浪费了不少时间.现在把这些记录 ...

  7. 代码演示用 KnockoutJS 和 Web API 对一个表格(Gird)进行 CRUD 操作,在 MVC 5 下

    实体类: using System; using System.Collections.Generic; public partial class EmployeeInfo { public int ...

  8. 受限玻尔兹曼机(RBM)学习笔记(七)RBM 训练算法

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

  9. Android上的事件流操作数据库

    最近在浏览某篇有关事件流的文章时,里面提到了数据的流处理,兴趣来了,就想看看能否在Android端实现一个. 根据文章的介绍,将每次数据的变更事件,像是插入,删除或者更新等,记为一个不可变的事件,让数 ...

  10. ASP.NET HTTP模拟提交通用类 GET POST

     用法: WebRequestSugar ws = new WebRequestSugar(); //可选参数 //ws.SetAccept //ws.SetContentType //ws.SetC ...