2017-02-14 41 views
0

我正在嘗試使用KeywordQuery構建KQL查詢。 我有一些託管屬性列,我想要在結果表中顯示,但它不適合我。KQL KeywordQuery - 無法顯示託管屬性

這裏是代碼:

  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(); 

我能夠得到的結果,但沒有管理的性質列所示。 什麼似乎是問題?

+0

UPDATE:我的一些管理性的列能夠顯示但也有一些人仍下落不明。 – Guid2015

回答

0

最終我發現我在屬性字符串中有WHITE SPACES。 例如:

 oKeywordQuery.SelectProperties.Add(" MyPropTitle "); 

應該是:

oKeywordQuery.SelectProperties.Add("MyPropTitle"); 
相關問題