Recherche par exécution automatique Dataverse

L’API de saisie semi-automatique permet aux consommateurs d’envoyer un terme requête de recherche partiel à la recherche Dataverse eet de récupérer le critère de recherche qui correspond à l’intention potentielle de l’utilisateur.

Utilisez cette API pour prendre en charge une expérience de champ de recherche plus riche. Lorsque l’utilisateur saisit chaque caractère de son critère de recherche, appelez la saisie semi-automatique et remplissez la requête du champ de recherche avec le résultat de la saisie semi-automatique pour permettre la saisie semi-automatique des mots. Par exemple : la saisie de set devient automatiquement settings :

Exemple montrant la saisie semi-automatique avec le mot « paramètres »

En plus d’un critère de recherche, les résultats renvoyés peuvent être influencés en transmettant des valeurs pour les paramètres suivants :

Nom  Type Description Pour plus d’informations :
search string Obligatoire. Terme de recherche paramètre search
entities string L’étendue par défaut effectue la recherche parmi toutes les entités et tous les champs configurés pour la recherche. paramètre entities
filter string Filtrer les critères pour réduire les résultats renvoyés. paramètre filter
fuzzy bool La recherche approximative élimine les fautes d’orthographe. La valeur par défaut est false. paramètre fuzzy

Paramètres

Cette section contient des détails sur les paramètres du tableau ci-dessus.

search Paramètre

Type : chaîne
Facultatif : faux

Le terme recherché doit comporter au moins un caractère et est limité à 100 caractères.

entities Paramètre

Type : chaîne
Facultatif : vrai

L’étendue par défaut effectue la recherche parmi toutes les entités et tous les champs configurés pour la recherche. Ce paramètre utilise le même type de requête SearchEntity utilisé par l’API de requête.

filter Paramètre

Type : chaîne
Facultatif : vrai

Filtrer les critères pour réduire les résultats renvoyés. Ce paramètre utilise les mêmes valeurs de chaîne que le paramètre de filtre de requête.

fuzzy Paramètre

Type : bool
Facultatif : vrai

La recherche approximative élimine les fautes d’orthographe. La valeur par défaut est false.

Lorsqu’elle est définie sur true, cette API trouve des suggestions même s’il y a un caractère substitué ou manquant dans le texte recherché. La distance d’édition est de 1 par chaîne de requête. Si la chaîne de requête comporte plusieurs termes, il ne peut y avoir qu’un seul caractère manquant, supplémentaire, substitué ou transposé dans la chaîne entière. L’activation de la correspondance floue peut s’avérer une meilleure expérience dans certains scénarios, mais cela a un coût en termes de performances, car les recherches de suggestions floues sont plus lentes et consomment plus de ressources.

Response

La réponse de l’opération de suggestion est une chaîne d’échappement qui inclut des données JSON.

La réponse sans échappement contient du JSON utilisant les propriétés suivantes.

Nom  Type Description
Error ErrorDetail Fournit des informations sur les erreurs de la recherche cognitive Azure.
Value string SMS.
QueryContext QueryContext Cette propriété est utilisée pour la recherche back-end. Elle est incluse pour les futures versions de fonctionnalités et n’est pas utilisée actuellement.

Types de réponse

La réponse renvoie les types suivants :

ErrorDetail

Ce type est le même ErrorDetail que celui renvoyé par l’API de requête.

QueryContext

Ce type est le même QueryContext que celui renvoyé par l’API de requête.

Examples

Les exemples suivants montrent comment utiliser l’opération de saisie semi-automatique. Ces exemples renvoient des résultats de saisie semi-automatique pour le champ de la table de comptes name .

Cet exemple est tiré de l’exemple du SDK pour les opérations de recherche .NET sur GitHub. La méthode statique OutputAutoComplete accepte une valeur pour le paramètre de recherche.

/// <summary>
/// Demonstrate autocomplete API
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance to use.</param>
/// <param name="searchTerm">The term to use</param>
/// <returns></returns>
static void OutputAutoComplete(IOrganizationService service, string searchTerm)
{
    Console.WriteLine("OutputAutoComplete START\n");

    searchautocompleteRequest request = new()
    {
        search = searchTerm,
        filter = null,
        fuzzy = true,
        entities = JsonConvert.SerializeObject(new List<SearchEntity>()
            {
                new SearchEntity()
                {
                    Name = "account",
                    SelectColumns = new List<string>() { "name", "createdon" },
                    SearchColumns = new List<string>() { "name" },
                }
            }
        )
    };

    var searchautocompleteResponse = (searchautocompleteResponse)service.Execute(request);

    SearchAutoCompleteResults results = JsonConvert.DeserializeObject<SearchAutoCompleteResults>(searchautocompleteResponse.response);

    Console.WriteLine($"\tSearch: {request.search}");
    Console.WriteLine($"\tValue: {results.Value}");

    Console.WriteLine("\nOutputAutoComplete END\n");
}

Sortie

Lorsque vous appelez la méthode OutputAutoComplete avec une instance authentifiée de la classe ServiceClient avec le searchTerm défini sur Cont :

OutputAutoComplete(service: serviceClient, searchTerm: "Con");

Le résultat ressemble à ce qui suit :

OutputAutoComplete START

        Search: Con
        Value: {crmhit}contoso{/crmhit}

OutputAutoComplete END

Classes de soutien

La méthode OutputAutoComplete dépend des classes de soutien suivantes pour envoyer la requête et traiter le résultat :

Classes searchautocompleteRequest et searchautocompleteResponse

Ces classes sont générées à l’aide de la commande de CLI Power Platform pac modelbuilder build comme décrit dans Générer des classes à liaison anticipée pour le SDK pour .NET.

Classe SearchEntity

Cette classe est la même classe SearchEntity utilisée pour l’exemple de requête. Dans ce cas, vous l’utiliser pour définir la propriété searchautocompleteRequest.entities.

Classe SearchAutoCompleteResults

À utiliser pour désérialiser les données JSON de la propriété de chaîne searchautocompleteResponse.response.

class SearchAutoCompleteResults
{
   /// <summary>
   /// The Azure Cognitive error detail returned as part of response.
   /// </summary>
   public ErrorDetail? Error {  get; set; }

   /// <summary>
   /// The text
   /// </summary>
   public string? Value { get; set; }

   /// <summary>
   /// This request is used for backend search, this is included for future feature releases, it is not currently used.
   /// </summary>
   public QueryContext? QueryContext { get; set; }
}
Classe ErrorDetail

Cette classe est la même classe ErrorDetail utilisée pour l’exemple de requête.

Classe QueryContext

Cette classe est la même classe QueryContext utilisée pour l’exemple de requête.

Voir aussi

Rechercher des enregistrements Dataverse
Requête de recherche Dataverse
Suggestion de recherche Dataverse
Statistiques et statut de recherche Dataverse
Recherche héritée Dataverse

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).