【问题标题】:KQL KeywordQuery - Unable to display managed propertiesKQL 关键字查询 - 无法显示托管属性
【发布时间】:2017-02-20 17:15:48
【问题描述】:

我正在尝试使用 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();

我能够获得结果,但未显示托管属性列。 似乎是什么问题?

【问题讨论】:

  • 更新:我可以显示一些托管属性列,但仍然缺少一些。

标签: c# sharepoint keywordquery


【解决方案1】:

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

     oKeywordQuery.SelectProperties.Add(" MyPropTitle ");

应该是:

    oKeywordQuery.SelectProperties.Add("MyPropTitle");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 2018-04-25
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    相关资源
    最近更新 更多