Share via


SearchByBodyKbArticleRequest Class

Definition

Contains the data that is needed to search for knowledge base articles that contain the specified body text.

public ref class SearchByBodyKbArticleRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class SearchByBodyKbArticleRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type SearchByBodyKbArticleRequest = class
    inherit OrganizationRequest
Public NotInheritable Class SearchByBodyKbArticleRequest
Inherits OrganizationRequest
Inheritance
SearchByBodyKbArticleRequest
Attributes

Examples

The following example shows how to use this message. For this sample to work correctly, you must have an authenticated connection to the server with a client that implements the IOrganizationService interface instance.

/// <summary>
/// Outputs the results of a text search of kbarticle filtered by subject
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="subjectId">The ID of the knowledge base article subject.</param>
/// <param name="searchText">The text to search for</param>
static void OutputSearchByBodyKbArticle(
    IOrganizationService service, 
    Guid subjectId, 
    string searchText) {

    // Create the request
    var request =
        new SearchByBodyKbArticleRequest()
        {
            SubjectId = subjectId,
            UseInflection = true,
            SearchText = searchText,
            QueryExpression = new QueryExpression()
            {
                ColumnSet = new ColumnSet("articlexml"),
                EntityName = "kbarticle"
            }
        };

    var response =
        (SearchByBodyKbArticleResponse)service.Execute(request);

    // Check success
    var retrievedArticleBodies = response.EntityCollection.Entities
        .Select((entity) => entity["articlexml"]);

    Console.WriteLine($"Found:{retrievedArticleBodies.Count()}");

    if (retrievedArticleBodies.Count() > 0)
    {
        Console.WriteLine("Results of search (article bodies found):");
        foreach (var body in retrievedArticleBodies)
            Console.WriteLine(body);
    }
}      

Remarks

For the Web API use the SearchByBodyKbArticle function.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of SearchByBodyKbArticleResponse.

Privileges and Access Rights

To perform this action, the caller must have privileges on the KbArticle and Subject entities. The caller must also have access rights on the record specified in the SubjectId property and on the records returned from the query.

Notes for Callers

This message supports queries using Query Expression and FetchXML. For more information see Query data using the Organization service.

Constructors

SearchByBodyKbArticleRequest()

Initializes a new instance of the SearchByBodyKbArticleRequest class.

Properties

ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
QueryExpression

Gets or sets the query criteria to find knowledge base articles with specified body text. Required.

RequestId

Gets or sets the ID of the request. Optional.

(Inherited from OrganizationRequest)
RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
SearchText

Gets or sets the text contained in the body of the article. Required.

SubjectId

Gets or sets the ID of the knowledge base article subject. Required.

UseInflection

Gets or sets a value that indicates whether to use inflectional stem matching when searching for knowledge base articles with a specified body text. Required.

Applies to

See also