KQL KeywordQuery - 无法显示托管属性

时间:2017-02-14 10:07:18

标签: c# sharepoint keywordquery

我正在尝试使用KeywordQuery构建KQL查询。 我有一些托管属性列,我想在结果表中显示,但它对我不起作用。

这是代码:

            oKeywordQuery = new KeywordQuery(oSite);
            oKeywordQuery.SelectProperties.Clear();
            oKeywordQuery.QueryText = sQuery;
            oKeywordQuery.KeywordInclusion = KeywordInclusion.AllKeywords;

            oKeywordQuery.StartRow = 0;
            oKeywordQuery.RowLimit = 500;
            oKeywordQuery.EnableNicknames = true;
            oKeywordQuery.EnablePhonetic = true;
            oKeywordQuery.TrimDuplicates = false;


            oKeywordQuery.SelectProperties.Add("IsDocument"); //This one as a test I was able to display but no managed properties
            foreach (string sDisplayField in oDisplayFields)
            {
                oKeywordQuery.SelectProperties.Add(sDisplayField);
            }

                oSearchExecutor = new SearchExecutor();
                oResultTableColl = oSearchExecutor.ExecuteQuery(oKeywordQuery);
                var oResultTable = oResultTableColl.Filter("TableType", KnownTableTypes.RelevantResults);

                oRTable = oResultTable.FirstOrDefault();

我可以获得结果,但不会显示托管属性列。 什么似乎是问题?

1 个答案:

答案 0 :(得分:0)

最终我发现我在属性字符串中有WHITE SPACES。 例如:

     oKeywordQuery.SelectProperties.Add(" MyPropTitle ");

应该是:

    oKeywordQuery.SelectProperties.Add("MyPropTitle");