Suggestion de recherche Dataverse
Utilisez cette API pour prendre en charge une expérience de champ de recherche plus riche. Par exemple, lorsque l’utilisateur saisit chaque caractère de son critère de recherche, appelez cette API et remplissez la liste déroulante du champ de recherche avec les résultats de requête suggérés.
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. Texte à rechercher. | paramètre de recherche |
entities |
string | La valeur par défaut est la recherche dans toutes les entités configurées 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 | Utilisez la recherche approximative pour ne pas être embêté par les fautes d’orthographe. La valeur par défaut est false. | paramètre fuzzy |
options |
string | Les options sont des paramètres configurés pour rechercher un critère de recherche. Par exemple "{ 'advancedsuggestenabled': 'true' }" . |
paramètre options |
orderby |
string | Liste de clauses séparées par des virgules où chaque clause se compose d’un nom d’attribut suivi de asc ou desc . |
paramètre orderby |
top |
int | Nombre de suggestions à récupérer. La valeur par défaut est 5. | paramètre top |
Paramètres
Cette section comprend des détails sur les paramètres introduits dans le tableau ci-dessus.
search
Paramètre
Type : chaîne
Facultatif : faux
Texte à rechercher. Le terme recherché doit comporter au moins trois caractères et est limité à 100 caractères.
entities
Paramètre
Type : chaîne
Facultatif : vrai
La valeur par défaut est la recherche dans toutes les entités configurées pour la recherche . Utilisez cette propriété pour affiner les résultats.
filter
Paramètre
Type : chaîne
Facultatif : vrai
Filtrez les critères pour réduire les résultats renvoyés en fonction des enregistrements qui correspondent aux critères de filtre.
fuzzy
Paramètre
Type : bool
Facultatif : vrai
Utilisez la recherche approximative pour ne pas être embêté par les fautes d’orthographe. La valeur par défaut est false.
options
Paramètre
Type : chaîne
Facultatif : vrai
Les options sont des paramètres configurés pour rechercher un critère de recherche. Les options valides pour la requête de suggestion sont :
"{ 'advancedsuggestenabled': 'true' }"
.
orderby
Paramètre
Type : chaîne
Facultatif : vrai
Liste de clauses séparées par des virgules où chaque clause se compose d’un nom d’attribut suivi de asc
ou desc
.
top
Paramètre
Type : entier
Facultatif : vrai
Nombre de suggestions à récupérer. La valeur par défaut est 5.
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 |
SuggestResult [] |
Une collection d’enregistrements correspondants. |
QueryContext |
QueryContext | Contexte de requête renvoyé dans le cadre de la réponse. Cette propriété est utilisée pour la recherche back-end. Il est inclus pour les futures versions de fonctionnalités et n’est pas utilisé 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.
SuggestResult
Fournit le texte suggéré.
Nom | Type | Description |
---|---|---|
Text |
string | Fournit le texte suggéré. |
Document |
Dictionary<string, object> |
Document. |
QueryContext
C’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 suggestion. Chacun de ces exemples transmet la valeur Cont comme paramètre de recherche et demande les trois principales suggestions.
Cet exemple est tiré de l’exemple du SDK pour les opérations de recherche .NET sur GitHub. La méthode statique OutputSearchSuggest
renvoie les trois principales suggestions pour tout critère de recherche.
/// <summary>
/// Demonstrate suggest API
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance to use.</param>
/// <param name="searchTerm">The term to use</param>
/// <returns></returns>
static void OutputSearchSuggest(IOrganizationService service, string searchTerm)
{
Console.WriteLine("OutputSearchSuggest START\n");
searchsuggestRequest request = new()
{
search = searchTerm,
top = 3
};
var searchsuggestResponse = (searchsuggestResponse)service.Execute(request);
SearchSuggestResults results = JsonConvert.DeserializeObject<SearchSuggestResults>(searchsuggestResponse.response);
results.Value?.ForEach(suggestion =>
{
Console.WriteLine($"\tText:{suggestion.Text}");
Console.WriteLine("\tDocument: ");
foreach (string key in suggestion.Document.Keys)
{
Console.WriteLine($"\t\t{key}: {suggestion.Document[key]}");
}
Console.WriteLine();
});
Console.WriteLine("OutputSearchSuggest END\n");
}
Sortie
Lorsque vous appelez la méthode OutputSearchSuggest
avec une instance authentifiée de la classe ServiceClient avec le searchTerm
défini sur Cont :
OutputSearchSuggest(service: serviceClient, searchTerm: "Cont");
Le résultat ressemble à ce qui suit :
OutputSearchSuggest START
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9335eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Yvonne McKay (sample)
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9535eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Susanna Stubberod (sample)
Text:{crmhit}cont{/crmhit}act
Document:
@search.objectid: 9735eda1-ef69-ee11-9ae7-000d3a88a4a2
@search.entityname: contact
@search.objecttypecode: 2
fullname: Nancy Anderson (sample)
OutputSearchSuggest END
Classes de soutien
La méthode OutputSearchSuggest
dépend des classes de soutien suivantes pour envoyer la requête et traiter le résultat.
Classes searchsuggestRequest et searchsuggestResponse
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 ErrorDetail
Cette classe est la même classe ErrorDetail
utilisée pour l’exemple de requête.
Classe SuggestResults
À utiliser pour désérialiser les données de la propriété searchsuggestResponse.response
.
class SearchSuggestResults
{
/// <summary>
/// Provides error information from Azure Cognitive search.
/// </summary>
[JsonProperty(PropertyName = "Error")]
public ErrorDetail? Error { get; set; }
/// <summary>
/// A collection of matching records.
/// </summary>
public List<SuggestResult>? Value { get; set; }
/// <summary>
/// The query context returned as part of response. This property is used for backend search, this is included for future feature releases, it is not currently used.
/// </summary>
public QueryContext? QueryContext { get; set; }
}
Classe SuggestResult
Objet de résultat pour suggérer des résultats.
public sealed class SuggestResult
{
/// <summary>
/// Gets or sets the text.
/// </summary>
[JsonProperty(PropertyName = "text")]
public string Text { get; set; }
/// <summary>
/// Gets or sets document.
/// </summary>
[JsonProperty(PropertyName = "document")]
public Dictionary<string, object> Document { get; set; }
}
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
Recherche par exécution automatique 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é).