Condividi tramite


SearchByKeywordsKbArticleRequest Class

Definition

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

public ref class SearchByKeywordsKbArticleRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class SearchByKeywordsKbArticleRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type SearchByKeywordsKbArticleRequest = class
    inherit OrganizationRequest
Public NotInheritable Class SearchByKeywordsKbArticleRequest
Inherits OrganizationRequest
Inheritance
SearchByKeywordsKbArticleRequest
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 keyword 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 OutputSearchByKeywordKbArticle(
    IOrganizationService service,
    Guid subjectId,
    string searchText)
{

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

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

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

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

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

Remarks

For the Web API use the SearchByKeywordsKbArticle function.

Usage

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

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

SearchByKeywordsKbArticleRequest()

Initializes a new instance of the SearchByKeywordsKbArticleRequest 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 keywords. 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 keywords in 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 the specified keywords. Required.

Applies to

See also