0

Ich habe einen Index in Azure Search lässt sagt, Hotels genannt.Ist es möglich, Push (mithilfe von API) und Pull (mithilfe von Indexer) Daten in den gleichen Index mit Azure Search?

Ich habe eine Hotel-Tabelle in Azure SQL, die das gleiche Schema hat, das eine Kopie des Hotelindex in Azure Search ist.

Ich schiebe von meinem Back-End zu Azure SQL-Tabelle und Azure Search bei create/update/delete.

In einem Szenario, in dem meine Daten an Azure SQL übertragen wurden, aber nicht an Azure Search übergeben wurden, ist es möglich, dass meine Azure SQL Hotels-Tabelle ein Indexer ist, sodass der Indexer Daten mit meinem Azure Search-Index synchronisieren konnte (Hotels) das konnte nicht von meinem Backend geschoben werden?

Antwort

0

Ja, Sie können sowohl Push und Pull mischen als auch mehrere Pull-Indexer haben, die auf den gleichen Index zielen. Wir sehen dies oft, wenn ein Teil der Daten in einer Datenquelle und ein Teil in einer anderen Datenquelle ist, wobei der Index der Punkt ist, an dem sie konvergieren, koordiniert durch ihren Schlüssel.

Das Muster, das Sie beschreiben, ist nicht so häufig, aber im Allgemeinen sollte es funktionieren. Sie müssen Fälle berücksichtigen, in denen Ihr Schreibvorgang mit einem Indexer-Schreibvorgang in Konflikt gerät, und sicherstellen, dass die Schreibvorgänge, die Sie ausführen, letztendlich erfolgreich sind. Wenn Sie diesen Pfad verwenden, stellen Sie sicher, dass Sie eine Änderungserkennung (und Löschungserkennung beim Löschen von Zeilen) konfigurieren, sodass wir inkrementell von SQL aus indizieren und nicht bei jedem Lauf alles vorbereiten.

Ein alternativer Ansatz, wenn Sie sich Sorgen um fehlende Schreibvorgänge machen, besteht darin, alle Ihre Schreibvorgänge in eine Warteschlange zu schieben und dann aus der Warteschlange in Azure Search zu ziehen. Auf diese Weise haben Sie einen einzigen Schreibstrom anstelle von zwei.

+0

Danke für Ihre Antwort @pablo, für die Warteschlange empfehlen Sie https://azure.microsoft.com/en-us/services/storage/queues/? Oder ist es die Azure Search-Warteschlange, aus der sie sich herausziehen kann? Wird diese Warteschlange auch in .Net konfiguriert oder kann sie im Azure-Portal konfiguriert werden? –

+0

Azure Storage-Warteschlangen sind einfach und effektiv. Es gibt anspruchsvollere Optionen wie Service-Bus, aber ich glaube nicht, dass Sie dafür brauchen. In der Azure-Suche gibt es keine direkte Unterstützung dafür. Sie können eine Azure-Funktion verwenden, die an die Warteschlange angeschlossen ist, und den Inhalt in Azure Search verschieben. Es ist kostengünstig und Sie haben keine Ressourcen zu überwachen, da Funktionen sich um alles kümmern. Sie müssen beobachten, wie viele Dokumente Sie pushen, wenn zu viele Batchdokumente berücksichtigen (z. B. mehrere Änderungen pro Warteschlangenelement, nicht nur eins). –

Verwandte Themen