2017-12-14 23 views
1

Dynamics 365 온라인 인스턴스에서 kbarticle을 검색하려고합니다. SDK 샘플에서 제공하는 매우 간단한 쿼리를 사용하지만 결코 kbarticle을 반환하지 않습니다. 다음은 Dynamics 365 SearchByTitleKbArticleRequest는 레코드를 반환하지 않습니다.

코드입니다 :

SearchByTitleKbArticleRequest searchByTitleRequest = 
        new SearchByTitleKbArticleRequest() 
        { 
         SubjectId = subjectId, // I have retrieved subjectid earlier. 
         UseInflection = false, 
         SearchText = "My Article", 
         QueryExpression = new QueryExpression() 
         { 
          ColumnSet = new ColumnSet(true), 
          EntityName = "kbarticle" // I've tried knowledgearticle as well. 
         } 
        }; 

var searchByTitleResponse = (SearchByTitleKbArticleResponse) 
        serviceProxy.Execute(searchByTitleRequest); 

     // check success 
     var retrievedArticles = searchByTitleResponse.EntityCollection.Entities;      
     Console . WriteLine (" Results of search (titles found):" + retrievedArticles.Count); // It is always 0 
     foreach (var article in retrievedArticles) 
      Console . WriteLine (article .Id); 
  1. SDK의 새 버전에서, kbarticle는 knowledgearticle로 이름이 변경됩니다. 나는 운이없는 지식 마술을 사용해 보았습니다.
  2. CRM 온라인 인스턴스에 대한 연결도 정확하며 RetrieveMultiple 서비스로 다른 쿼리를 실행할 수 있습니다.
  3. 기사가 게시되었으며 기사에 액세스 할 수있는 권한도 있습니다.
  4. REST와 RetrieveMultiple을 사용하여 동일한 기사를 검색 할 수 있으므로 기사 나 연결에 문제가 표시되지 않습니다.

누구나 올바른 메시지를 전달할 수 있습니까?

+0

검색을 위해 UseInflection = true 및 일부 기사 본문 텍스트를 사용해 보셨습니까? 현재 필터가 틀리면 정확한 제목을 검색합니다 .. –

+0

Hello Arun, UseInflection = false를 사용했습니다. 기사에는 본문에 텍스트가 있습니다. SearchByKeyword 또는 FullTextSearch와 같은 다른 SDK 메시지를 시도했습니다. 가능한 모든 조합을 시도했습니다. –

답변

0

이것은 사용중인 엔티티에 따라 다릅니다. 아래 필자는 KnowledgeArticle에 대한 예를 제공합니다.

따라서 Search knowledge articles using full-text search에 따라 기술 자료는 전체 텍스트 인덱싱되고 SQL Server 전체 텍스트 검색을 지원합니다.

FullTextSearchKnowledgeArticleRequest을 사용하여 기사를 검색 할 수 있습니다.

var queryExpression = new QueryExpression("knowledgearticle") 
{ 
    ColumnSet = new ColumnSet(true), 
    PageInfo = new PagingInfo() 
    { 
     PageNumber = 1, 
     Count = 5, 
    } 
}; 

FullTextSearchKnowledgeArticleRequest searchByTitleRequest = 
     new FullTextSearchKnowledgeArticleRequest() 
     { 
      UseInflection = true, 
      SearchText = "Error", 
      RemoveDuplicates = false, 
      StateCode = 0, 
      QueryExpression = queryExpression 
     }; 


var fullTextSearchKnowledgeArticleResponse = (FullTextSearchKnowledgeArticleResponse) 
        orgService.Execute(searchByTitleRequest); 

// check success 
var retrievedArticles = fullTextSearchKnowledgeArticleResponse.EntityCollection.Entities; 
Console.WriteLine("Results of search (titles found):" + retrievedArticles.Count); 
foreach (var article in retrievedArticles) 
    Console.WriteLine(article.Id); 

은 참고 FullTextSearchKnowledgeArticleRequest를 사용하여 새로 생성 된 문서를 반환하지 않을 수있는 SQL에 색인을 생성 할 수있는 데이터에 필요한 시간이있을 것 같습니다.

+0

전 텍스트 검색을 포함한 모든 메시지를 행운없이 시도했습니다. 마지막으로 Microsoft 지원 서비스 티켓을 열고 문제를 조사하기를 기다리고 있습니다. –

+0

위 내용을 시도해 보셨습니까? 예를 들어, QueryExpression에서 PageInfo를 제거하면 아무 결과도 얻지 못합니다. 시나리오에서 기사, KnowledgeArticle 또는 KbArticle을 만드는 데 사용하는 엔티티는 무엇입니까? –

+0

오늘 위의 예제는 내가 그것을 실행 해 보았을 때 저에게 효과적이었습니다. 며칠 전에 같은 메시지를 몇 번이나 써 보았지만 그 결과는 0 점 이었지만 이번에는 효과가있었습니다. 그러나 여전히 다른 메시지가 작동하지 않습니다. 또한 여러 가지 변형 된 QueryExpressions (단일 열 선택, 모든 열 등)를 시도했습니다. 나는 심지어 QueryExpressions의 부모 클래스를 사용해 보았습니다. 나는 또한 조건과 필터를 사용하여 시도했다. 동일한 결과를 가진 kbarticle과 knowledgearticle을 모두 사용했습니다. –