我们正在使用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中创建的托管属性。
我错过了什么属性或者这是后端问题吗?
感谢。
答案 0 :(得分:2)
如果您要创建自定义元数据属性,那么您应该使用此选项
请查看以下链接
http://screencast.com/t/SQdlarjhx4F
您可以在以下位置找到此选项: 中央管理员: - 服务: - 快速搜索: - 元数据属性: - 您的属性
答案 1 :(得分:1)
我错过了一个属性 KeywordQuery.SelectProperties
所以代码看起来像这样
String[] arrSearchProperties = new String[] { "Title", "body", "url" };
KeywordQuery.SelectProperties(arrSearchProperties);
这将获取您定义的所有托管属性。