Événement
Championnats du monde Power BI DataViz
14 févr., 16 h - 31 mars, 16 h
Avec 4 chances d’entrer, vous pourriez gagner un package de conférence et le rendre à la Live Grand Finale à Las Vegas
En savoir plusCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
La recherche Dataverse fournit des résultats de recherche rapides et complets sur plusieurs tables, dans une seule liste et triés par pertinence. Il offre également des fonctionnalités permettant de prendre en charge les suggestions et les expériences de saisie semi-automatique dans les applications.
Note
Cette documentation destinée aux développeurs décrira comment interagir par programmation avec les API de recherche Dataverse.
Consultez les rubriques suivantes pour plus d’informations sur l’expérience utilisateur et comment configurer la recherche Dataverse pour votre environnement :
Les développeurs peuvent utiliser les API de recherche de trois manières différentes :
/api/data/v9.x
/api/search/v2.0/
Les opérations de recherche sont définies comme des messages Dataverse utilisant les API personnalisées. Pour les projets .NET, vous pouvez utiliser le SDK pour .NET.
Aucune classe n’est actuellement incluse dans le SDK pour utiliser ces opérations. Pour les projets .NET Framework, vous pouvez utiliser la CLI Power Platform construction du modelbuilder pac pour générer des classes *Request
et *Response
pour ces messages comme vous le feriez pour n’importe quelle action personnalisée.
Vous pouvez également utiliser les classes OrganizationRequest et OrganizationResponse.
Pour plus d’informations :
La recherche propose trois opérations pour prendre en charge une interface utilisateur permettant de rechercher des données.
Nom du message SDK Action de l’API Web Point de terminaison de recherche 2.0 |
Description |
---|---|
searchquery Action searchquery /api/search/v2.0/query |
Renvoie une page de résultats de recherche. Voir Requête de recherche Dataverse |
searchsuggest Action searchsuggest /api/search/v2.0/suggest |
Fournir des suggestions lorsque l’utilisateur saisit du texte dans un champ de formulaire. Voir Suggestion de recherche Dataverse |
searchautocomplete Action searchautocomplete /api/search/v2.0/autocomplete |
Fournit la saisie semi-automatique de l’entrée lorsque l’utilisateur saisit du texte dans un champ de formulaire. Voir Recherche par exécution automatique Dataverse |
Il existe également deux opérations que vous pouvez utiliser pour comprendre si la recherche est activée et comment elle est configurée.
Nom du message SDK Fonction de l’API Web Point de terminaison de recherche 2.0 |
Description |
---|---|
searchstatistics Fonction searchstatistics /api/search/v2.0/statistics |
Fournit la taille de stockage de l’organisation et le nombre de documents. Voir Statistiques de recherche Dataverse |
searchstatus Fonction searchstatus /api/search/v2.0/status |
Statut de recherche d’une organisation. Voir Statut de recherche Dataverse |
Si vous avez utilisé Insomnia avec l’API Web Dataverse, vous savez à quel point il est utile d’essayer d’utiliser les API. Des instructions sur la configuration d’un environnement Insomnia pour l’authentification avec l’API Web Dataverse sont disponibles ici : Utiliser Insomnia avec l’API Web Dataverse
Vous pouvez utiliser les mêmes instructions avec les opérations de recherche à l’aide des fonctions et actions de l’API Web. Si vous souhaitez utiliser le point de terminaison de recherche native 2.0, modifiez ces deux variables d’environnement :
Variable | Valeur de l’API Web | Valeur de point de terminaison de recherche 2.0 |
---|---|---|
version |
9.2 |
2.0 |
webapiurl |
{{url}}/api/data/v{{version}}/ |
{{url}}/api/search/v{{version}}/ |
La recherche Dataverse est activée par défaut pour les environnements de production, mais il s’agit d’une fonctionnalité de désinscription qui peut donc être désactivée même dans un environnement de production. Si vous utilisez un environnement autre qu’un environnement de production, un Administrateur doit l’activer. Découvrez comment activer la recherche dans le centre d’administration.
Si vous utilisez les opérations de requête, de suggestion ou de saisie semi-automatique lorsque l’environnement n’est pas activé, vous obtiendrez ces erreurs :
ErrorCode :
-2147185397
Message :Dataverse Search feature is disabled for this organization.
Vous pouvez détecter si le service de recherche est activé en vérifiant les paramètres dans la table d’organisation ou en utilisant l’opération Statut de recherche Dataverse.
La Table d’organisation contient une seule ligne de données qui contrôle la façon dont l’organisation est configurée. La colonne booléenne IsExternalSearchIndexEnabled vous indique si la recherche est activée pour l’organisation.
Cette fonction renvoie la valeur de propriété IsExternalSearchIndexEnabled
pour l’organisation.
static bool IsExternalSearchIndexEnabled(IOrganizationService service) {
QueryExpression query = new QueryExpression("organization") {
ColumnSet = new ColumnSet("isexternalsearchindexenabled")
};
EntityCollection organizations = service.RetrieveMultiple(query);
return (bool)organizations.Entities.FirstOrDefault()["isexternalsearchindexenabled"];
}
Pour plus d’informations : Générer des requêtes avec QueryExpression
Les tables et colonnes activées pour la recherche sont contrôlées par les données dans Dataverse.
Seules les tables dans lesquelles la propriété EntityMetadata.CanEnableSyncToExternalSearchIndex.Value et la propriété EntityMetadata.ChangeTrackingEnabled sont vraies peuvent être activées pour la recherche Dataverse. Si la valeur CanEnableSyncToExternalSearchIndex.CanBeChanged
est fausse, vous ne pouvez pas modifier la valeur. Pour plus d’informations : Propriétés gérées
Pour activer une table pour la recherche Dataverse, définissez la propriété EntityMetadata.SyncToExternalSearchIndex sur true
.
Vous pouvez vérifier les valeurs d’une table avec le SDK ou l’API Web en utilisant le nom logique de la table. Remplacez account
dans les requêtes suivantes par le nom logique de la table que vous souhaitez vérifier.
static void RetrieveSearchSettingsForTable(IOrganizationService service, string logicalName = "account") {
RetrieveMetadataChangesRequest request = new RetrieveMetadataChangesRequest() {
Query = new EntityQueryExpression() {
Properties = new MetadataPropertiesExpression(
"CanEnableSyncToExternalSearchIndex",
"SyncToExternalSearchIndex")
}
};
request.Query.Criteria.Conditions.Add(
new MetadataConditionExpression(
propertyName: "LogicalName",
conditionOperator: MetadataConditionOperator.Equals,
value: logicalName));
var response = (RetrieveMetadataChangesResponse)service.Execute(request);
EntityMetadata table = response.EntityMetadata.FirstOrDefault();
Console.WriteLine($"CanEnableSyncToExternalSearchIndex: {table.CanEnableSyncToExternalSearchIndex.Value}");
Console.WriteLine($"SyncToExternalSearchIndex: {table.SyncToExternalSearchIndex}");
}
Sortie
CanEnableSyncToExternalSearchIndex: True
SyncToExternalSearchIndex: True
Pour plus d’informations :
Pour plus d’informations :
Les colonnes pouvant être recherchées pour la table sont déterminées selon qu’elles sont incluses ou non dans la vue Recherche rapide pour chaque table. Vous pouvez interroger la définition de la vue dans la table View (SavedQuery) et la mettre à jour par programme.
Pour plus d’informations :
Pour Dataverse, les limites courantes de l’API de protection des services ne seront jamais atteintes, car la recherche Dataverse applique une limite inférieure. La façon dont vous les gérez est la même.
La recherche Dataverse permet à un utilisateur d’envoyer une requête par seconde et chaque organisation est limitée à 150 requêtes par minute. Si vous dépassez cette limite, une erreur 429 Too Many Requests est renvoyée. Si une erreur 429
est renvoyée, vous devez attendre que la période définie dans la valeur Retry-After
de l’en-tête de réponse soit écoulée avant d’envoyer d’autres requêtes. La valeur représente le nombre de secondes d’attente.
Requête de recherche Dataverse
Suggestion de recherche Dataverse
Recherche par exécution automatique Dataverse
Statistiques et statut de recherche Dataverse
Recherche héritée Dataverse
Configurer la recherche Dataverse pour votre environnement
Note
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é).
Événement
Championnats du monde Power BI DataViz
14 févr., 16 h - 31 mars, 16 h
Avec 4 chances d’entrer, vous pourriez gagner un package de conférence et le rendre à la Live Grand Finale à Las Vegas
En savoir plusFormation
Parcours d’apprentissage
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Certification
Microsoft Certified : Azure Cosmos DB Developer Specialty - Certifications
Écrivez des requêtes efficaces, créez des stratégies d’indexation, gérez et approvisionnez des ressources dans l’API SQL et le Kit de développement logiciel (SDK) avec Microsoft Azure Cosmos DB.
Documentation
Requête de recherche Dataverse (Microsoft Dataverse) - Power Apps
Utilisez la requête de recherche Dataverse pour renvoyer les résultats de recherche dans plusieurs tables.
Statistiques et statut de recherche Dataverse (Microsoft Dataverse) - Power Apps
Utilisez les statistiques de recherche et les API d’état Dataverse pour récupérer des données sur les structures de données utilisées pour prendre en charge la recherche et vérifier l’état de recherche Dataverse.
Analyseurs de colonnes personnalisés pour la recherche Dataverse - Power Apps
Vous pouvez personnaliser les résultats de recherche obtenus de la recherche Dataverse en appliquant des analyseurs de recherche spéciaux pour des colonnes de table spécifiques. Vous pouvez utiliser les analyseurs de recherche Azure par défaut ou créer votre propre analyseur personnalisé.