2017-02-14 6 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");