SharePoint 2013 KeywordQuery搜索SPField

时间:2017-10-11 11:19:06

标签: c# sharepoint sharepoint-2013 keywordquery

SharePoint搜索服务处理文档内容及其元数据(属性),我需要检索字段名称和搜索匹配的内容(SPField)。

我应该在SelectProperties对象中添加哪个字段?或者我可以在哪里找到这些信息。

KeywordQuery keywordQuery = new KeywordQuery(SPContext.Current.Site);

keywordQuery.QueryText = queryText;
keywordQuery.ResultsProvider = SearchProvider.Default;
var selecProperties = keywordQuery.SelectProperties;
selecProperties.Add("UniqueId");
selecProperties.Add("FileLeafRef");
selecProperties.Add("ListId");
selecProperties.Add("WebId");
selecProperties.Add("Created");
selecProperties.Add("CheckoutUserOWSUSER");

SearchExecutor searchExecutor = new SearchExecutor();
ResultTableCollection resultTableCollection = searchExecutor.ExecuteQuery(keywordQuery);
ResultTable resultTable = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults).FirstOrDefault();
DataTable dataTable = resultTable.Table;

1 个答案:

答案 0 :(得分:0)

我在属性KeywordQuery中的HitHighlightedProperties对象中找到所有需要的解决方案是将已爬网属性(托管属性)添加到SelectPropertiesHitHighlightedProperties,然后在你会发现xml包含所有可用字段中找到的关键字的详细信息。