Hier finden Sie Antworten auf häufig gestellte Fragen zu Azure Cognitive Search.
Allgemein
Was ist Azure Cognitive Search?
Azure Cognitive Search ist ein Dienst in Azure, der eine dedizierte Suchmaschine und eine dauerhafte Speicherung Ihrer durchsuchbaren Inhalte für Volltextsuchszenarien bietet. Der Dienst enthält auch optionale integrierte KI, die während der Indizierung verwendet wird, um mehr Text und Struktur aus dem unformatierten Inhalt zu extrahieren.
Wie kann ich mit Cognitive Search arbeiten?
Der primäre Workflow umfasst das Erstellen, Laden und Abfragen eines Indexes. Obwohl Sie das Portal für die meisten Aufgaben verwenden können, ist Cognitive Search für die programmgesteuerte Verwendung vorgesehen, um Anforderungen von Clientcode zu behandeln. Programmgesteuerte Unterstützung wird über REST-APIs und Clientbibliotheken in .NET, Python, Java und JavaScript SDKs für Azure bereitgestellt.
Sind „Azure Search“ und „Azure Cognitive Search“ derselbe Dienst?
Azure Search wurde im Oktober 2019 in Azure Cognitive Search umbenannt, um die erweiterte (optionale) Verwendung von kognitiven Skills und KI-Verarbeitung bei Dienstvorgängen widerzuspiegeln.
Welche Sprachen werden unterstützt?
Das standardmäßig verwendete Analysetool für die Tokenisierung ist Lucene und ist sprachunabhängig. Andernfalls wird die Sprachunterstützung durch Sprachanalysetools ausgedrückt, die linguistische Regeln auf eingehende Inhalte (Indizierung) und ausgehende Inhalte (Abfragen) anwenden. Einige Features, z. B. semantische Suche und Rechtschreibprüfung, sind nur für einen Teil der Sprachen verfügbar.
Wie kann ich die Suche in meine Lösung integrieren?
Clientcode sollte die Clientbibliotheken oder REST-APIs aufrufen, um eine Verbindung mit einem Suchindex herzustellen, Abfragen zu formulieren und Antworten zu verarbeiten. Sie können auch Code schreiben, der einen Index erstellt und aktualisiert oder Indexer programmgesteuert oder mit einem Skript ausführt.
Besitzen die verschiedenen APIs die gleichen Funktionen?
Nicht immer. Neue Features werden immer zuerst von der REST-API in API-Vorschauversionen implementiert. Die allgemein verfügbaren Versionen unterstützen alle programmgesteuerten Vorgänge. Nach und nach rufen die Clientbibliotheken in Azure SDKs neue Features ab, die jedoch nach einem eigenen Zeitplan veröffentlicht werden.
Auch wenn die neuesten Features zuerst über die REST-APIs verfügbar sind, bieten die Azure SDKs mehr Codeunterstützung. Daher wird deren Nutzung gegenüber REST empfohlen, sofern das entsprechende Feature verfügbar ist.
Kann ich den Dienst anhalten und so die Berechnung von Gebühren stoppen?
Sie können einen Suchdienst nicht anhalten. In Azure Cognitive Search werden die Computingressourcen beim Erstellen des Diensts zugeordnet. Es ist nicht möglich, diese Ressourcen je nach Bedarf freizugeben und dann erneut zu nutzen.
Kann ich den Dienst aktualisieren, herabstufen, umbenennen oder verschieben?
Dienstebene, Name und Region werden für die Lebensdauer des Diensts festgelegt.
Muss ich mit Ausfallzeiten rechnen, wenn ich meinen Suchdienst zu einem anderen Abonnement oder einer anderen Ressourcengruppe migriere?
Solange Sie der Checkliste folgen, bevor Sie Ressourcen verschieben, und sicherstellen, dass jeder Schritt abgeschlossen wird, sollte keine Downtime auftreten.
Indizierung
Was bedeutet „Indizierung“ in Cognitive Search?
Bezieht sich auf Erfassung, Analyse und Speicherung von Textinhalten und Token, die einen Suchindex auffüllen. Bei der Indizierung werden invertierte Indizes und andere physische Datenstrukturen erstellt, die das Abrufen von Informationen unterstützen.
Kann ich Indizes verschieben, sichern und wiederherstellen?
Für die Indexverwaltung ist keine native Unterstützung verfügbar. Suchindizes gelten als nachgeschaltete Datenstrukturen, die Inhalte aus anderen Datenquellen, die operative Daten sammeln, akzeptieren. Daher gibt es keine integrierte Unterstützung für das Sichern und Wiederherstellen von Indizes. Es wird davon ausgegangen, dass Sie einen gelöschten Index oder einen Index, der verschoben werden soll, aus den Quelldaten neu erstellen.
Wenn Sie jedoch einen Index von einem Suchdienst in einen anderen verschieben möchten, können Sie den Beispielcode index-backup-restore in diesem .NET-Beispielrepository für Azure Cognitive Search ausführen.
Kann ich meinen Index oder Dienst wiederherstellen, nachdem er gelöscht wurde?
Nein, wenn Sie einen Index oder Dienst für Azure Cognitive Search löschen, kann er nicht wiederhergestellt werden. Wenn Sie einen Suchdienst löschen, werden alle Indizes in diesem Dienst dauerhaft gelöscht.
Kann ich eine Indizierung aus SQL-Datenbankreplikaten erstellen?
Wenn Sie den Suchindexer für Azure SQL-Datenbank verwenden, gibt es für neu erstellte Indizes keine Einschränkungen hinsichtlich der Verwendung von primären oder sekundären Replikaten als Datenquelle. Wenn Sie einen Index mit inkrementellen Updates (basierend auf geänderten Datensätzen) aktualisieren, wird aber das primäre Replikat benötigt. Diese Anforderung stammt aus SQL-Datenbank und garantiert die ausschließliche Änderungsnachverfolgung für primäre Replikate. Wenn Sie versuchen, sekundäre Replikate für eine Workload zur Indexaktualisierung zu verwenden, ist nicht garantiert, dass Sie alle Daten erhalten.
Abfragen
Wo erfolgt die Abfrageausführung?
Abfragen werden über einen einzigen, in Ihrem Suchdienst gehosteten Suchindex ausgeführt. Sie können nicht mehrere Indizes verknüpfen, um Inhalte in zwei oder mehr Indizes zu durchsuchen, aber Sie können Indizes mit demselben Namen in mehreren Suchdiensten abfragen.
Warum ergeben sich keine Übereinstimmungen für Begriffe, von denen ich weiß, dass sie gültig sind?
Häufig ist Benutzer*innen in diesem Zusammenhang nicht bekannt, dass jeder Abfragetyp unterschiedliche Suchverhalten und Grade der linguistischen Analyse unterstützt. Die Volltextsuche, bei der es sich um eine gängige Workload handelt, enthält eine Sprachanalysephase, in der Ausdrücke in ihre Grundformen unterteilt werden. Dieser Aspekt der Analyse von Abfragen bewirkt, dass sich mehr Möglichkeiten für potenzielle Übereinstimmungen ergeben, da der in Token unterteilte Ausdruck mit einer größeren Zahl von Varianten übereinstimmt.
Platzhalter-, Fuzzy- und RegEx-Abfragen werden jedoch nicht wie reguläre Begriffs- oder Ausdruckabfragen analysiert und können zu einem schlechten Abruf führen, wenn die Abfrage nicht mit der analysierten Wortform im Suchindex übereinstimmt. Weitere Informationen zur Abfragenanalyse und anderen Analysen finden Sie unter Abfragearchitektur.
Warum ist eine Platzhaltersuche so langsam?
Die meisten Platzhaltersuchabfragen wie Präfix-, Fuzzy- und RegEx-Abfragen werden intern mit übereinstimmenden Begriffen im Suchindex umgeschrieben. Diese zusätzliche Verarbeitung erhöht die Latenz. Darüber hinaus können weit gefasste Suchabfragen wie z. B. a*
, die wahrscheinlich mit vielen Begriffen umgeschrieben werden, langsam sein. Für leistungsstarke Platzhaltersuchen sollten Sie die Definition eines benutzerdefinierten Analysetools in Betracht ziehen.
Kann ich übergreifend mehrere Indizes durchsuchen?
Nein, die Suche ist immer auf einen einzelnen Index beschränkt.
Warum lautet die Suchpunktzahl für jede Übereinstimmung immer 1,0?
Suchbewertungen werden für Volltextsuchabfragen basierend auf den statistischen Eigenschaften übereinstimmender Begriffe generiert und im Resultset in absteigender Reihenfolge angezeigt. Abfragetypen, bei denen es sich nicht um eine Volltextsuche handelt (Platzhalter-, Präfix- oder RegEx-Abfragen), werden nicht nach Relevanz geordnet. Dieses Verhalten ist beabsichtigt. Durch eine konstante Bewertungspunktzahl können per Abfrageerweiterung ermittelte Übereinstimmungen in die Ergebnisse eingebunden werden, ohne dass die Rangfolge beeinträchtigt wird.
Beispiel: Angenommen, die Eingabe von „tour*“ für eine Platzhaltersuche in englischem Text führt zu den Übereinstimmungen „tours“, „tourettes“ und „tourmaline“. Aufgrund der Art dieser Ergebnisse lässt sich nicht sicher ableiten, welche Begriffe wertvoller als andere sind. Daher werden Begriffshäufigkeiten bei der Bewertung von Ergebnissen in Abfragen vom Typ „Platzhalter“, „Präfix“ und „RegEx“ (regulärer Ausdruck) ignoriert. Suchergebnisse erhalten basierend auf einer Teileingabe eine konstante Bewertung, um eine Bevorzugung von potenziell unerwarteten Übereinstimmungen zu vermeiden.
Sicherheit
Wo werden die Kundendaten von Cognitive Search gespeichert?
Cognitive Search speichert keine Kundendaten außerhalb der Region, in der der Dienst bereitgestellt wird.
Werden Kundendaten von Cognitive Search zur Verarbeitung an andere Dienste gesendet?
Ja. Wenn Sie die auf Cognitive Services basierenden integrierten Skills verwenden, sendet der Indexer über das interne Netzwerk Anforderungen an Cognitive Services. Wenn Sie einen benutzerdefinierten Skill hinzufügen, werden Inhalte vom Indexer an den URI gesendet, der im benutzerdefinierten Skill bereitgestellt wird.
Kann ich den Zugriff auf Suchergebnisse basierend auf der Benutzeridentität steuern?
Nicht unbedingt. In der Regel sind Benutzer mit der Berechtigung zum Ausführen Ihrer Anwendung auch berechtigt, alle Suchergebnisse anzuzeigen. Cognitive Search verfügt über keine integrierte Unterstützung für Berechtigungen auf Zeilen- oder Dokumentebene. Zur Umgehung des Problems können Sie jedoch Sicherheitsfilter implementieren.
Kann ich den Zugriff auf Vorgänge basierend auf der Benutzeridentität steuern?
Das Autorisierungssystem der rollenbasierten Zugriffssteuerung für Vorgänge auf Datenebene befindet sich derzeit in der Phase der öffentlichen Vorschau.
Kann ich das Azure-Portal verwenden, um Suchinhalte anzuzeigen und zu verwalten, wenn der Suchdienst hinter einer IP-Firewall oder einem privaten Endpunkt liegt?
Sie können das Azure-Portal in einem netzwerkgeschützten Suchdienst verwenden, wenn Sie eine Netzwerkausnahme erstellen, die den Client- und Portalzugriff ermöglicht. Weitere Informationen finden Sie unter Herstellen einer Verbindung durch eine IP-Firewall oder Herstellen einer Verbindung über einen privaten Endpunkt.
Nächste Schritte
Wenn Ihre Frage hier nicht beantwortet wurde, finden Sie in den folgenden Quellen weitere Fragen und Antworten.
Stack Overflow: Azure Cognitive Search
Funktionsweise der Volltextsuche in Azure Cognitive Search
Was ist Azure Cognitive Search?