1

我们正在使用快速搜索 Sharepoint 2010,并通过创建一些托管属性(例如 BestBetDescription、关键字等)完成了一些后端设置。

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

然而,在查询后端时,我们并没有获得这些托管属性(BestBetDescription)以及其他属性,如 Title、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 中创建的托管属性。

有没有我错过的财产或者这是一个后端问题?

谢谢。

4

2 回答 2

2

嗨,如果您正在创建自定义元数据属性,那么您应该使用此选项来选择

请检查以下链接

http://screencast.com/t/SQdlarjhx4F

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

于 2012-04-05T09:58:07.903 回答
1

我缺少一个属性KeywordQuery.SelectProperties

所以代码看起来像这样

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

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

于 2012-04-09T06:36:38.270 回答