Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Indizierung von Daten in Amazon Service OpenSearch
Da Amazon OpenSearch Service eine REST-API verwendet, gibt es zahlreiche Methoden für die Indizierung von Dokumenten. Sie können Standard-Clients wie curl
Wir empfehlen Ihnen dringend, Amazon OpenSearch Ingestion für die Datenaufnahme zu verwenden. Dabei handelt es sich um einen vollständig verwalteten Datensammler, der in Service integriert ist. OpenSearch Weitere Informationen finden Sie unter Amazon OpenSearch Ingestion.
Eine Einführung in die Indizierung finden Sie in der Dokumentation. OpenSearch
Namensbeschränkungen bei Indizes
OpenSearch Für Dienstindizes gelten die folgenden Einschränkungen bei der Benennung:
-
Alle Buchstaben müssen Kleinbuchstaben sein.
-
Indexnamen dürfen nicht mit
_
oder-
beginnen. -
Indexnamen dürfen keine Leerzeichen, Kommas,
:
,"
,*
,+
,/
,\
,|
,?
,#
,>
oder<
enthalten.
Nehmen Sie keine vertraulichen Informationen in Index-, Typ- oder Dokument-ID-Namen auf. OpenSearch Der Dienst verwendet diese Namen in seinen Uniform Resource Identifiers (URIs). Server und Anwendungen protokollieren oft HTTP-Anforderungen. Dies kann dazu führen, dass unnötigerweise Daten preisgegeben werden, wenn URIs sensible Informationen enthalten.
2018-10-03T23:39:43 198.51.100.14 200 "GET https://
opensearch-domain
/dr-jane-doe/flu-patients-2018/202-555-0100/ HTTP/1.1"
Auch wenn Sie keine Berechtigungen zum Anzeigen des zugehörigen JSON-Dokuments haben, könnten Sie von dieser gefälschten Protokollzeile ableiten, dass einer von Dr. Does Patienten mit der Telefonnummer 202–555–0100 im Jahr 2018 die Grippe hatte.
Wenn der OpenSearch Dienst eine echte oder vermeintliche IP-Adresse in einem Indexnamen erkennt (z. B.my-index-12.34.56.78.91
), maskiert er die IP-Adresse. Ein Anruf bei _cat/indices
ergibt die folgende Antwort:
green open my-index-x.x.x.x.91 soY19tBERoKo71WcEScidw 5 1 0 0 2kb 1kb
Um unnötige Verwirrung zu vermeiden, sollten Sie es vermeiden, IP-Adressen in Indexnamen zu verwenden.
Reduzierung der Antwortgröße
Antworten der _index
- und _bulk
-APIs enthalten ziemlich viele Informationen. Diese Informationen können bei der Fehlerbehebung von Anfragen oder der Implementierung von Logik für Wiederholversuche nützlich sein. Sie benötigen allerdings beträchtliche Bandbreite. In diesem Beispiel führt die Indizierung eines 32-Byte-Dokuments zu einer 339-Byte-Antwort (einschließlich Kopfzeilen):
PUT
opensearch-domain
/more-movies/_doc/1 {"title": "Back to the Future"}
Antwort
{ "_index": "more-movies", "_type": "_doc", "_id": "1", "_version": 4, "result": "updated", "_shards": { "total": 2, "successful": 2, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }
Diese Antwortgröße mag minimal erscheinen, aber wenn Sie 1 000 000 Dokumente pro Tag indizieren – ungefähr 11,5 Dokumente pro Sekunde – ergeben 339 Byte pro Antwort 10,17 GB Download-Datenverkehr pro Monat.
Wenn Datenübertragungskosten ein Problem darstellen, verwenden Sie den filter_path
Parameter, um die Größe der OpenSearch Serviceantwort zu reduzieren. Achten Sie jedoch darauf, dass Sie keine Felder herausfiltern, die Sie benötigen, um fehlgeschlagene Anfragen zu identifizieren oder erneut zu versuchen. Diese Felder variieren je nach Client. Der filter_path
Parameter funktioniert für alle OpenSearch Service-REST-APIs, ist aber besonders nützlich bei APIs, die Sie häufig aufrufen, wie z. B. die _bulk
APIs _index
und:
PUT
opensearch-domain
/more-movies/_doc/1?filter_path=result,_shards.total {"title": "Back to the Future"}
Antwort
{ "result": "updated", "_shards": { "total": 2 } }
Anstatt Felder zu integrieren, können Sie Felder mit einem -
-Präfix ausschließen. filter_path
unterstützt auch Platzhalter:
POST
opensearch-domain
/_bulk?filter_path=-took,-items.index._* { "index": { "_index": "more-movies", "_id": "1" } } {"title": "Back to the Future"} { "index": { "_index": "more-movies", "_id": "2" } } {"title": "Spirited Away"}
Antwort
{ "errors": false, "items": [ { "index": { "result": "updated", "status": 200 } }, { "index": { "result": "updated", "status": 200 } } ] }
Indexcodecs
Index-Codecs bestimmen, wie die in einem Index gespeicherten Felder komprimiert und auf der Festplatte gespeichert werden. Der Index-Codec wird durch die statische index.codec
Einstellung gesteuert, die den Komprimierungsalgorithmus angibt. Diese Einstellung wirkt sich auf die Größe des Index-Shards und die Betriebsleistung aus.
Eine Liste der unterstützten Codecs und ihrer Leistungsmerkmale finden Sie in der Dokumentation unter Unterstützte Codecs
Beachten Sie bei der Auswahl eines Index-Codec Folgendes:
-
Um die Probleme zu vermeiden, die mit der Änderung der Codec-Einstellung eines vorhandenen Indexes verbunden sind, sollten Sie zunächst einen repräsentativen Workload in einer Umgebung außerhalb der Produktionsumgebung testen, bevor Sie eine neue Codec-Einstellung verwenden. Weitere Informationen finden Sie unter Ändern eines Index-Codecs
. -
Sie können keine Z-Standard-Komprimierungscodecs
( "index.codec": "zstd"
oder"index.codec": "zstd_no_dict"
) für k-NN- oder Security Analytics-Indizesverwenden.