Freigeben über


Dataverse-AutoVervollständigen-Suche

Mit der AutoVervollständigen-API können Konsumenten einen teilweisen Suchabfragebegriff an die Dataverse-Suche senden und den Suchbegriff zurückerhalten, der die potenzielle Benutzerabsicht darstellt.

Verwenden Sie diese API, um ein umfassenderes Suchfelderlebnis zu unterstützen. Wenn Benutzende die einzelnen Zeichen seines Suchbegriffs eingeben, wird AutoVervollständigen aufgerufen und die Abfrage des Suchfelds mit dem AutoVervollständigen-Ergebnis ausgefüllt, um eine Wortvervollständigung durch die Vorschlagssuche zu ermöglichen. Beispiel: Bei Eingabe von set schlägt AutoVervollständigen settings vor:

Beispiel für die automatische Vervollständigung mit dem Wort „settings“

Zusätzlich zu einem Suchbegriff können die zurückgegebenen Ergebnisse auch durch die Übergabe von Werten für die folgenden Parameter beeinflusst werden:

Name des Dataflows typ Beschreibung Weitere Informationen
search Zeichenfolge Erforderlich Suchbegriff search-Parameter
entities Zeichenfolge Der Standardbereich ist das Durchsuchen aller für die Suche konfigurierten Entitäten und Felder. entities-Parameter
filter Zeichenfolge Filterkriterien zur Reduzierung der zurückgegebenen Ergebnisse. filter-Parameter
fuzzy Boolesch Fuzzysuche als Hilfe bei Rechtschreibfehlern. Der Standardwert ist false. fuzzy-Parameter

Parameter

Dieser Abschnitt enthält Einzelheiten zu den Parametern in der obigen Tabelle.

search-Parameter

Typ: Zeichenfolge
Optional: falsch

Der Suchbegriff muss mindestens ein Zeichen lang sein und ist auf 100 Zeichen begrenzt.

entities-Parameter

Typ: Zeichenfolge
Optional: wahr

Der Standardbereich ist das Durchsuchen aller für die Suche konfigurierten Entitäten und Felder. Dieser Parameter verwendet denselben SearchEntity-Abfragetyp, der von der Abfrage-API verwendet wird.

filter-Parameter

Typ: Zeichenfolge
Optional: wahr

Filterkriterien zur Reduzierung der zurückgegebenen Ergebnisse. Dieser Parameter verwendet dieselben Zeichenfolgenwerte wie Abfragefilterparameter.

fuzzy-Parameter

Typ: boolesch
Optional: wahr

Fuzzysuche als Hilfe bei Rechtschreibfehlern. Der Standardwert ist false.

Wenn diese API auf „wahr“ gesetzt ist, findet sie Vorschläge auch dann, wenn im Suchtext ein Zeichen ausgetauscht wird oder fehlt. Der Bearbeitungsabstand beträgt 1 pro Abfragezeichenfolge. Wenn die Abfragezeichenfolge aus mehreren Begriffen besteht, darf die gesamte Zeichenfolge nur ein einziges fehlendes, zusätzliches, ersetztes oder vertauschtes Zeichen enthalten. Die Aktivierung von Fuzzy-Übereinstimmungen kann in manchen Szenarien eine bessere Erfahrung bieten, geht jedoch mit Leistungseinbußen einher, da Fuzzy-Vorschlagssuchen langsamer sind und mehr Ressourcen verbrauchen.

Antworten

Die Antwort des Vorschlagsvorgangs ist eine maskierte Zeichenfolge, die JSON-Daten enthält.

Die Antwort ohne maskierte Zeichen enthält JSON mit den folgenden Eigenschaften.

Name des Dataflows typ Beschreibung
Error ErrorDetail Stellt Fehlerinformationen aus der Azure Cognitive Search bereit.
Value Zeichenfolge Der Text.
QueryContext QueryContext Diese Eigenschaft wird für die Back-End-Suche verwendet. Sie ist in zukünftigen Featurereleases enthalten und wird derzeit nicht verwendet.

Antworttypen

Die Antwort gibt die folgenden Typen zurück:

ErrorDetail

Dieser Typ ist dasselbe ErrorDetail, das von der Abfrage-API zurückgegeben wird.

QueryContext

Dieser Typ ist derselbe QueryContext, der von der Abfrage-API zurückgegeben wird.

Beispiele

Im folgenden Beispiel wird gezeigt, wie der AutoVervollständigen-Vorgang verwendet werden. Diese Beispiele geben AutoVervollständigen-Ergebnisse für das Kontotabellenfeld name zurück.

Dieses Beispiel stammt aus dem Beispiel für das SDK für den .NET-Suchvorgang auf GitHub. Die statische OutputAutoComplete Methode akzeptiert einen Wert für den Suchparameter.

/// <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");
}

Ausgabe

Wenn Sie die OutputAutoComplete-Methode mit einer authentifizierten Instanz der ServiceClient-Klasse aufrufen, wobei searchTerm auf „Con“ gesetzt ist:

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

Die Ausgabe sieht ungefähr wie folgt aus:

OutputAutoComplete START

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

OutputAutoComplete END

Unterstützende Klassen

Die OutputAutoComplete-Methode hängt von den folgenden unterstützenden Klassen ab, um die Anfrage zu senden und das Ergebnis zu verarbeiten:

searchautocompleteRequest- und searchautocompleteResponse-Klassen

Diese Klassen werden mit dem Power Platform CLI-Befehl pac modelbuilder uild generiert, wie unter Generieren von Klassen mit früher Bindung für das SDK für .NET beschrieben.

SearchEntity-Klasse

Diese Klasse ist dieselbe SearchEntity-Klasse, die für das Abfragebeispiel verwendet wird. In diesem Fall verwenden Sie es, um die searchautocompleteRequest.entities-Eigenschaft festzulegen.

SearchAutoCompleteResults-Klasse

Wird zum Deserialisieren von JSON-Daten aus der Zeichenfolgeneigenschaft searchautocompleteResponse.response verwendet.

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; }
}
ErrorDetail-Klasse

Diese Klasse ist dieselbe ErrorDetail-Klasse, die für das Abfragebeispiel verwendet wird.

QueryContext-Klasse

Diese Klasse ist dieselbe QueryContext-Klasse, die für das Abfragebeispiel verwendet wird.

Siehe auch

Nach Dataverse-Datensätzen suchen
Dataverse-Suchabfrage
Dataverse-Suchvorschlag
Dataverse-Suchstatistiken und -Status
Dataverse-Legacysuche

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).