在搜索结果中显示托管属性 - 快速搜索Sharepoint 2010

时间:2012-04-05 07:27:30

标签: search sharepoint-2010 fastsearch

我们正在使用Fast Search for Sharepoint 2010,并在创建一些托管属性时进行了一些后端设置,例如BestBetDescription,关键字等。

从前端部分我们创建了一个应用程序,它将获取所有这些属性并显示在网格中。

然而,在查询后端时,我们没有获得这些托管属性(BestBetDescription)以及其他属性,如标题,URL等。

以下是我的源代码:

settingsProxy = SPFarm.Local.ServiceProxies.GetValue<SearchQueryAndSiteSettingsServiceProxy>();
searchProxy = settingsProxy.ApplicationProxies.GetValue<SearchServiceApplicationProxy>("FAST Query SSA");
keywordQuery = new KeywordQuery(searchProxy);
keywordQuery.EnableFQL = true;
keywordQuery.QueryText = p;
keywordQuery.ResultsProvider = SearchProvider.FASTSearch;
keywordQuery.ResultTypes = ResultType.RelevantResults;
ResultTableCollection resultsTableCollection = keywordQuery.Execute();
ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];
DataTable resultsDataTable = new DataTable();
resultsDataTable.TableName = "Results";
resultsDataTable.Load(searchResultsTable, LoadOption.OverwriteChanges);
return resultsDataTable;

返回结果,我看不到我们在resultDataTable中创建的托管属性。

我错过了什么属性或者这是后端问题吗?

感谢。

2 个答案:

答案 0 :(得分:2)

如果您要创建自定义元数据属性,那么您应该使用此选项

请查看以下链接

http://screencast.com/t/SQdlarjhx4F

  

您可以在以下位置找到此选项:       中央管理员: - 服务: - 快速搜索: - 元数据属性: - 您的属性

答案 1 :(得分:1)

我错过了一个属性 KeywordQuery.SelectProperties

所以代码看起来像这样

String[] arrSearchProperties = new String[] { "Title", "body", "url" };
KeywordQuery.SelectProperties(arrSearchProperties);

这将获取您定义的所有托管属性。