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
:
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é).