Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dataverse liefert schnelle und umfassende Suchergebnisse für mehrere Tabellen in einer Liste, sortiert nach Relevanz. Es bietet auch Funktionen zur Unterstützung von Vorschlägen und Autovervollständigungserlebnissen in Apps.
Anmerkung
In dieser Dokumentation für Entwickler wird beschrieben, wie Sie programmgesteuert mit den Dataverse-Such-APIs interagieren.
Informationen zur Benutzererfahrung und zum Konfigurieren der Dataverse-Suche für Ihre Umgebung finden Sie in den folgenden Themen:
Verwendung
Entwickler können die Such-APIs auf drei verschiedene Arten verwenden:
- Das Dataverse SDK für .NET
- Den Web-API-
/api/data/v9.x-Endpunkt - Der native Such
/api/search/v2.0/-Endpunkt
Suchvorgänge sind als Dataverse-Nachrichten festgelegt, die benutzerdefinierte APIs verwenden. Verwenden Sie für .NET-Projekte das SDK für .NET.
Derzeit enthält das SDK keine Klassen zur Verwendung dieser Vorgänge. Verwenden Sie für .NET Framework-Projekte die Power Platform CLI pac modelbuilder build, um *Request- und *Response-Klassen für diese Nachrichten zu generieren, genau wie bei jeder benutzerdefinierten Aktion.
Sie können auch die OrganizationRequest- und OrganizationResponse-Klassen verwenden.
Weitere Informationen findest du unter:
Suchvorgänge
Die Suche bietet drei Vorgänge zur Unterstützung einer Benutzeroberfläche, die die Suche nach Daten ermöglicht.
| SDK-Nachrichtenname Web-API-Aktion Suche-2.0-Endpunkt |
Beschreibung |
|---|---|
searchquerysearchquery-Aktion /api/search/v2.0/query |
Gibt eine Suchergebnisseite zurück. Siehe Dataverse-Suchabfrage |
searchsuggestsearchsuggest-Aktion /api/search/v2.0/suggest |
Stellt Vorschläge bereit, während der Benutzer Text in ein Formularfeld eingibt. Siehe Dataverse-Suchvorschlag |
searchautocompletesearchautocomplete-Aktion /api/search/v2.0/autocomplete |
Stellt die automatische Vervollständigen der Eingabe bereit, wenn der Benutzer Text in ein Formularfeld eingibt. Siehe Dataverse-Such-Autovervollständigung |
Zwei Vorgänge helfen Ihnen zu verstehen, ob die Suche aktiviert ist und wie sie konfiguriert ist.
| SDK-Nachrichtenname Web-API-Funktion Suche-2.0-Endpunkt |
Beschreibung |
|---|---|
searchstatisticssearchstatistics-Funktion /api/search/v2.0/statistics |
Stellt die Organisationsspeichergröße und Dokumentenanzahl bereit. Siehe Dataverse-Suchstatistiken |
searchstatussearchstatus-Funktion /api/search/v2.0/status |
Der Suchergebnisstatus einer Organisation. Siehe Dataverse-Suchstatus |
Insomnia mit der Dataverse-Suche verwenden
Wenn Sie Insomnia mit Dataverse Web-API verwenden, wissen Sie, wie nützlich es ist, die APIs auszuprobieren. Anweisungen zum Einrichten einer Insomnia-Umgebung zur Authentifizierung mit der Dataverse-Web-API finden Sie unter Verwenden von Insomnia mit der Dataverse-Web-API.
Sie können dieselben Anweisungen mit den Suchvorgängen verwenden, die Web-API-Funktionen und -Aktionen verwenden. Wenn Sie den nativen Suche-2.0-Endpunkt verwenden möchten, ändern Sie diese beiden Umgebungsvariablen:
| Variable | Web-API-Wert | Suche 2.0 Endpunktwert |
|---|---|---|
version |
9.2 |
2.0 |
webapiurl |
{{url}}/api/data/v{{version}}/ |
{{url}}/api/search/v{{version}}/ |
Erkennen, ob die Suche aktiviert ist
Die Dataverse-Suche ist standardmäßig für Produktionsumgebungen aktiviert, es handelt sich jedoch um ein Opt-Out-Feature, sodass Sie sie auch in einer Produktionsumgebung deaktivieren können. Wenn Sie eine andere Umgebung als eine Produktionsumgebung verwenden, muss diese durch die Administration aktiviert werden. Erfahren Sie, wie Sie die Suche im Admin Center aktivieren.
Fehler, wenn die Suche nicht aktiviert ist
Wenn Sie die Abfrage-, Vorschlags- oder AutoVervollständigen-Vorgänge verwenden, wenn die Umgebung nicht aktiviert ist, erhalten Sie die folgenden Fehler:
Fehlercode:
-2147185397Nachricht:Dataverse Search feature is disabled for this organization.
Sie können feststellen, ob der Suchdienst aktiviert ist, indem Sie die Einstellungen in der Organisationstabelle überprüfen oder den Vorgang Dataverse-Suchstatus verwenden.
Die Organisationstabelle überprüfen
Die Organisationstabelle enthält eine einzelne Datenzeile, die steuert, wie die Organisation konfiguriert ist. Die boolesche Spalte IsExternalSearchIndexEnabled gibt an, ob die Suche für die Organisation aktiviert ist.
Diese Funktion gibt den IsExternalSearchIndexEnabled-Eigenschaftswert für die Organisation zurück.
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"];
}
Weitere Informationen: Erstellen von Abfragen mit QueryExpression
Tabellen und Spalten für die Suche aktivieren
Daten in Dataverse steuern, welche Tabellen und Spalten für die Suche aktiviert sind.
Aktivieren von Tabellen
Sie können nur diese Tabellen für die Dataverse-Suche aktivieren, bei der die EntityMetadata.CanEnableSyncToExternalSearchIndex.Value-Eigenschaft und die EntityMetadata.ChangeTrackingEnabled-Eigenschaft wahr sind. Wenn der CanEnableSyncToExternalSearchIndex.CanBeChanged-Wert falsch ist, können Sie ihn nicht ändern. Weitere Informationen finden Sie unter verwaltete Eigenschaften.
Um eine Tabelle für die Dataverse Suche zu aktivieren, legen Sie die Eigenschaft EntityMetadata.SyncToExternalSearchIndex auf true fest.
Überprüfen Sie die Werte für eine Tabelle mithilfe des SDK oder der Web-API mit dem logischen Tabellennamen. Ersetzen Sie account in den folgenden Abfragen durch den logischen Namen der Tabelle, die Sie überprüfen möchten.
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}");
}
Ausgabe
CanEnableSyncToExternalSearchIndex: True
SyncToExternalSearchIndex: True
Weitere Informationen findest du unter:
Weitere Informationen findest du unter:
- Tabellen für die Dataverse-Suche auswählen
- Verwaltete Eigenschaften für die Dataverse-Suche festlegen
Aktivieren von Spalten
Die Spalten, die für die Tabelle durchsuchbar sind, hängen davon ab, ob sie in der Schnellsuche-Ansicht für jede Tabelle enthalten sind. Sie können die Definition der Ansicht in der „Ansicht (SavedQuery)“-Tabelle abfragen und programmgesteuert aktualisieren.
Weitere Informationen findest du unter:
Grenzwerte für den Dienstschutz
Die Dataverse-Suche erzwingt niedrigere Grenzwerte, sodass Sie die allgemeinen Grenzwerte für den Dataverse-Dienstschutz nicht erreichen. Sie verwalten diese Grenzwerte auf die gleiche Weise.
Die Dataverse-Suche ermöglicht es Benutzenden, eine Anforderung pro Sekunde zu senden. Jede Organisation ist auf 150 Anforderungen pro Minute beschränkt. Wenn Sie diesen Grenzwert überschreiten, gibt die API einen Fehler von 429 Zu viele Anforderungen zurück. Wenn die API einen 429 Fehler zurückgibt, warten Sie, bis der im Retry-After Antwortheader definierte Zeitraum vor dem Senden weiterer Anforderungen abgelaufen ist. Der Wert gibt die Anzahl der Sekunden, die gewartet werden sollten.
Siehe auch
Dataverse-Suchabfrage
Dataverse-Suchvorschlag
Dataverse – AutoVervollständigen-Suche
Dataverse-Suchstatistiken und -Status
Veraltete Dataverse-Suche
Die Dataverse-Suche in Ihrer Umgebung konfigurieren