Amazon CloudSearch wurde für hohen Durchsatz und geringe Latenz konzipiert und unterstützt eine umfangreiche Auswahl an Funktionen, einschließlich sprachspezifischer Textverarbeitung für 34 Sprachen, Freitextsuche, facettierter Suche, Geodatensuche, anpassbarer Relevanzrangfolgen, Hervorhebung, AutoVervollständigen sowie vom Benutzer konfigurierbarer Skalierungs- und Verfügbarkeitsoptionen.

Die Nutzung von Amazon CloudSearch ist einfach. Gehen Sie wie folgt vor:

  1. Erstellen Sie eine Such-Domain.
  2. Konfigurieren Sie Indizierungsoptionen für Ihre Daten.
  3. Laden Sie Ihre Daten für die Indizierung hoch.
  4. Senden Sie Suchanfragen von Ihrer Website oder Anwendung aus.

Nachstehend finden Sie Details zur Funktionsweise von CloudSearch.

Amazon CloudSearch kostenlos testen

Das kostenlose CloudSearch-Testprogramm starten
Weitere Informationen

Sie erhalten 30 Tage lang insgesamt 750 kostenlose Stunden voll funktioneller Such-Instances. So starten Sie:

Melden Sie sich in Ihrem AWS-Konto an und starten Sie die CloudSearch-Konsole.

Such-Domain mit nur wenigen Klicks erstellen


Sie erstellen eine Amazon CloudSearch Such-Domain für jede Sammlung von Daten, die Sie durchsuchbar machen wollen. Eine Such-Domain kapselt Ihre Daten und die für den Betrieb einer Suchmaschine erforderlichen Hardware- und Softwareressourcen ein. Jede Such-Domain enthält eine oder mehrere Such-Instances. Eine Such-Domain ist eine Server-Instance mit einer endlichen Menge an RAM- und CPU-Ressourcen für die Indizierung von Daten und die Verarbeitung von Anforderungen. Die Anzahl der Such-Instances in einer Domain hängt von den Dokumenten in Ihrer Sammlung sowie dem Volumen und der Komplexität Ihrer Suchanfragen ab.

Als verwalteter Suchdienst bestimmt Amazon CloudSearch die Größe und Anzahl der benötigten Such-Instances, um eine Suchleistung mit kurzer Latenz und hohem Durchsatz zu liefern. Wenn Sie eine Such-Domain erstellen, verwendet Amazon CloudSearch standardmäßig den Such-Instance-Typ "Small" (search.m1.small). Sie können einen größeren Such-Instance-Typ auswählen, um die Aktualisierungskapazität Ihrer Domain zu vergrößern und den Zeitaufwand für das Hochladen und Indizieren einer großen Datensammlung zu verringern. (Wenn Sie mehr Kapazität benötigen, als der größte Instance-Typ bietet, können Sie die Zahl der Instances erhöhen, über die hinweg Ihr Index partitioniert wird.)

Mit zunehmender Datenmenge in Ihrem Suchindex skaliert Amazon CloudSearch Ihre Such-Domain automatisch nach Bedarf. Wenn Ihr Index die Kapazität des aktuellen Instance-Typs überschreitet, wird die Domain auf den nächst größeren Instance-Typ skaliert. Wenn Ihr Suchindex die Kapazität des größten Instance-Typs überschreitet, partitioniert Amazon CloudSearch den Index über mehrere Instances hinweg. Umgekehrt skaliert CloudSearch Ihre Domain auf weniger Partitionen oder auf einen kleineren Such-Instance-Typ herunter, wenn sich Ihr Index verkleinert.

Amazon CloudSearch skaliert außerdem automatisch, um einem quantitativen Anstieg des Suchdatenverkehrs gerecht zu werden. Wenn eine Such-Instance fast ihre maximale Abfragelast erreicht hat, stellt CloudSearch eine Replica der Such-Instance bereit. Wenn hingegen der Suchdatenverkehr zurückgeht, entfernt Amazon CloudSearch nicht benötigte Replicas, um die Kosten zu senken.

Ein Suchindex, der in drei Partitionen aufgeteilt ist, verwendet beispielsweise drei Such-Instances (eine für jede Partition). Wenn der Suchverkehr über die Verarbeitungskapazität der einzelnen Such-Instances hinaus ansteigt, werden die Partitionen repliziert, um zusätzliche Abfragekapazität bereitzustellen. Nachdem die Instances repliziert wurden, enthält die Domain insgesamt sechs Such-Instances, zwei für jede Partition. Nimmt der Suchdatenverkehr weiter zu, fügt Amazon CloudSearch weitere Replicas nach Bedarf hinzu.

Sollten Sie einen Anstieg beim Abfragedatenverkehr oder eine drastische Zunahme des Datenverkehrs erwarten, können Sie zusätzliche Replicas der Such-Instances zu Ihrer Domain hinzufügen.

CloudSearchScaling

Sie können die von Ihren Amazon CloudSearch-Domains genutzten Ressourcen auf der Seite mit Ihren Kontoaktivitäten auf der AWS-Website, über die AWS Management Console oder durch Übermitteln von CloudSearch-API-Anforderungen über die AWS CLI oder die AWS SDKs anzeigen.

Welche Datenmenge ein Such-Instance-Typ jeweils unterstützen kann, hängt weitgehend von der Größe der Dokumente ab, die Sie indizieren, und von den für Ihre Domain konfigurierten Indizierungsoptionen.

Um die Kapazität der einzelnen Such-Instance-Typen zu veranschaulichen, sehen wir uns ein Beispieldokument und eine Beispielkonfiguration für den IMDb Movies-Datensatz an. Das folgende Beispiel zeigt ein IMDb-Filmdokument, dessen Größe etwa 1 KB beträgt:

{
   "fields" : {
      "Regisseure" : [
         "Francis Lawrence"
      ],
      "release_date" : "2013-11-11T00:00:00Z",
      "Genre" : [
         "Action",
         "Adventure",
        "Sci-Fi",
        "Thriller"
      ],
      "image_url" : "http://ia.media-imdb.com/images/M/MV5xMzNeMzAx._V1_SX400_.jpg",
      "plot" : "Katniss Everdeen and Peeta Mellark become targets of the Capitol after their victory in the 74th Hunger Games sparks a rebellion in the Districts of Panem.",

      "title" : "The Hunger Games: Catching Fire",
      "rank" : 4,
      "running_time_secs" : 8760,
       "Schauspieler" : [
         "Jennifer Lawrence",
         "Josh Hutcherson",
         "Liam Hemsworth"
      ],
      "year": 2013
   },
   "id" : "tt1951264",
   "type": "add"
}   

Zum Indizieren und Durchsuchen von Filmdokumenten dieser Art konfigurieren wir unsere Such-Domain mit einem Indexfeld für jedes Dokumentfeld. Wir können mehrere Indizierungsoptionen für jedes Feld angeben, z. B. Art des Feldes, ob das Feld durchsuchbar ist oder ob Facettierung, Ergebnis, Sortierung oder Hervorhebung aktiviert ist. Diese Indizierungsoptionen wirken sich direkt auf die Zahl der Dokumente aus, die in eine Such-Instance passen. Die folgende Tabelle zeigt eine Beispielkonfiguration der Indexfelder für unsere IMDb-Filmdokumente.

Name
Typ
Suche
Facette
Ergebnis
Sortierung Hervorhebung
Schauspieler
Text-Array
Regisseure
Text-Array
Genre
Literal-Array

Bild-URL
Text
Handlung
Text
Rang int
Bewertung
double
Kinostart
date
Lauflänge in Sekunden
int
Titel
Text
Jahr
int

Aufgrund der Dokumentgröße (1 KB) und dieser Indexkonfiguration hat jeder Such-Instance-Typ die in der nachfolgenden Tabelle angegebene Dokumentkapazität.

Such-Instance-Typ Datenkapazität
Such-Instance "Small" (search.ml.small)
2 Millionen Dokumente
Such-Instance "Large" (search.m1.large) 8 Millionen Dokumente
Such-Instance "Extra Large" (search.m2.xlarge)
16 Millionen Dokumente
Such-Instance "Double Extra Large" (search.m2.2xlarge) 32 Millionen Dokumente

Dies ist natürlich nur ein Beispiel. Bei anderen Dokumenten und anderen Konfigurationen kann sich die Zahl der Dokumente, die in eine Instance passen, drastisch verändern. Wenn Sie die Kapazität einer einzelnen "Double Extra Large"-Such-Instance überschreiten, partitioniert Amazon CloudSearch Ihren Suchindex automatisch über weitere "Double Extra Large"-Such-Instances. Ein Index kann über bis zu 10 Such-Instances vom Typ "Double Extra Large" partitioniert werden, um eine Dokumentanzahl in zwei- bis dreistelliger Millionenhöhe zu unterstützen. Wenn Sie eine weitere Skalierung benötigen, wenden Sie sich an uns.

Sie interagieren mit Amazon CloudSearch über drei Dienste:

  • Konfigurationsdienst: Dient zum Erstellen und Konfigurieren von Such-Domains.
  • Dokumentendienst: Dient zum Hochladen von Dokumentstapeln.
  • Suchdienst: Dient zum Übermitteln von Such- und Vorschlagsanfragen.

Mit den AWS Identity and Access Management (IAM)-Richtlinien können Sie den Zugriff auf den Amazon CloudSearch-Konfigurationsdienst und auf die Dokumenten- und Suchdienste der einzelnen Domains verwalten.

 

Der Konfigurationsdienst ermöglicht Ihnen das Erstellen und Konfigurieren von Such-Domains. Um eine Such-Domain einzurichten, geben Sie ihr einen eindeutigen Namen und konfigurieren Sie die Indizierungsoptionen, Textanalyseschemen, Verfügbarkeits- und Skalierungsoptionen, Vorschlagfunktionen und Ausdrücke:

  • Indizierungsoptionen legen die Felder fest, die Sie in Ihren Index aufnehmen möchten. Über die AWS Management Console oder über die Befehlszeilen-Tools von Amazon CloudSearch können Sie Ihre Daten durchsuchen und standardmäßige Indizierungsoptionen automatisch konfigurieren lassen.
  • Textanalyseschemata geben sprachspezifische Textverarbeitungsoptionen für Text- und Text-Array-Felder an. Mit Analyseschemata legen Sie die Stoppworte fest, die bei der Indizierung ignoriert werden sollen, definieren gebräuchliche Synonyme für Begriffe und legen fest, wie Begriffe einem gemeinsamen Wortstamm zugeordnet werden sollen. 
  • Mit den verfügbaren Optionen können Sie eine Domain über zwei Availability Zones hinweg bereitstellen, um im Falle einer Dienstunterbrechung hohe Verfügbarkeit zu gewährleisten.
  • Mit Skalierungsoptionen können Sie Ihre Domain vorab skalieren, indem Sie den gewünschten Instance-Typ, die Anzahl der Replicas und die Anzahl der Partitionen angeben. Dies ist hilfreich, wenn Sie eine große Menge an Dokumenten hochladen müssen oder mit einer drastischen Zunahme des Datenverkehrs durch Suchabfragen rechnen.
  • Mit Vorschlagsfunktionen können Sie mögliche Übereinstimmungen für eine unvollständige Suchabfrage abrufen, um Ergebnisse als Benutzertypen anzuzeigen.
  • Ausdrücke sind numerische Ausdrücke, die zum Zeitpunkt der Abfrage bewertet werden. Mit Ausdrücken können Sie steuern, wie Suchergebnisse geordnet werden. Standardmäßig werden Dokumente anhand eines Relevanzwerts sortiert, welcher die Häufigkeit der Suchbegriffe in einem Dokument berücksichtigt. Durch die Verwendung von Ausdrücken können Sie auch andere Faktoren in die Rangliste einfließen lassen. Wenn Ihre Dokumente zum Beispiel ein numerisches Feld namens "Beliebtheit" enthalten, können Sie einen Ausdruck definieren, der "Beliebtheit" mit dem standardmäßigen Relevanzwert kombiniert, um beliebte relevante Dokumente in den Suchergebnissen höher einzustufen.

Sie verwenden den Dokumentendienst, um Änderungen an den durchsuchbaren Daten einer Domain durchzuführen. Jede Domain verfügt über einen eindeutigen HTTP-Endpunkt für den Dokumentendienst.

Wenn Sie Daten an Ihre Domain senden möchten, müssen diese im JSON- oder XML-Format vorliegen. Jedes Element, das als Suchergebnis zurückgegeben werden soll, wird als Dokument dargestellt. Jedes Dokument hat eine eindeutige ID und mindestens ein Feld mit den Daten, die Sie durchsuchen und in den Ergebnissen zurückgeben möchten. Dokumentenfelder können beliebige UTF-8-String-Daten enthalten. Die Indizierungsoptionen Ihrer Domain legen fest, wie Sie die Daten indizieren und nutzen möchten.

Der Suchdienst verarbeitet Such- und Vorschlagsanfragen für eine Domain. Jede Domain verfügt über einen eindeutigen Such-HTTP-Endpunkt. Wenn Sie eine Such- oder Vorschlagsanfrage senden, gibt der Suchdienst eine Liste der übereinstimmenden Dokumente aus. Die Suchergebnisse können entweder in JSON oder XML ausgegeben werden.

Amazon CloudSearch bietet eine reichhaltige Abfragesprache, die es Ihnen ermöglicht, in bestimmten Feldern zu suchen, komplexe Boolesche Suchen durchzuführen, Facettierungsinformationen abzurufen und anzugeben, welche Daten in den Ergebnissen enthalten sein sollen. Sie können durch die Festlegung von Optionen auch bestimmen, wie Abfragebegriffe verarbeitet werden, sowie andere Abfrageparser wie Lucene oder DisMax verwenden.

Mit dem Such-Tester in der Amazon CloudSearch-Konsole können Sie Beispielabfragen testen.

cloudsearcharchitecture

Die Nutzung dieses Service unterliegt der Kundenvereinbarung von Amazon Web Services.