Indicizzazione dei dati in Amazon Service OpenSearch - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Indicizzazione dei dati in Amazon Service OpenSearch

Poiché Amazon OpenSearch Service utilizza un'API REST, esistono numerosi metodi per indicizzare i documenti. Puoi utilizzare client standard come curl o qualsiasi linguaggio di programmazione in grado di inviare richieste HTTP. Per semplificare ulteriormente il processo di interazione con essa, OpenSearch Service dispone di client per molti linguaggi di programmazione. Gli utenti esperti possono passare direttamente a Caricamento di dati di streaming in Amazon OpenSearch Service.

Ti consigliamo vivamente di utilizzare Amazon OpenSearch Ingestion per importare dati, un raccoglitore di dati completamente gestito integrato in Service. OpenSearch Per ulteriori informazioni, consulta Amazon OpenSearch Ingestion.

Per un'introduzione all'indicizzazione, consulta la documentazione. OpenSearch

Limitazioni di denominazione per gli indici

OpenSearch Gli indici dei servizi presentano le seguenti restrizioni di denominazione:

  • Tutte le lettere devono essere minuscole.

  • I nomi degli indici non possono iniziare con _ o -.

  • I nomi degli indici non possono contenere spazi, virgole, :, ", *, +, /, \, |, ?, #, > o <.

Non includere informazioni riservate nei nomi degli indici, dei tipi o degli ID dei documenti. OpenSearch Il servizio utilizza questi nomi nei suoi Uniform Resource Identifiers (URI). I server e le applicazioni registrano spesso le richieste HTTP, il che può causare un'inutile esposizione dei dati se gli URI contengono informazioni sensibili.

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"

Anche se non si dispone delle autorizzazioni per visualizzare il documento JSON associato, è possibile dedurre da questa riga fittizia del log che uno dei pazienti del Dr. Doe con numero di telefono 202-555-0100 ha avuto l'influenza nel 2018.

Se OpenSearch Service rileva un indirizzo IP reale o percepito in un nome di indice (ad esempio,my-index-12.34.56.78.91), maschera l'indirizzo IP. Una chiamata a _cat/indices produce la risposta seguente:

green open my-index-x.x.x.x.91 soY19tBERoKo71WcEScidw 5 1 0 0 2kb 1kb

Per evitare inutili confusioni, evitare di includere indirizzi IP nei nomi di indice.

Riduzione delle dimensioni della risposta

Le risposte dalle API _index e _bulk contengono diverse informazioni. Queste informazioni possono essere utili per le richieste di risoluzione dei problemi o per l'implementazione della logica dei tentativi, ma possono utilizzare una larghezza di banda considerevole. In questo esempio, l'indicizzazione di un documento a 32 byte genera una risposta a 339 byte (incluse le intestazioni):

PUT opensearch-domain/more-movies/_doc/1 {"title": "Back to the Future"}

Risposta

{ "_index": "more-movies", "_type": "_doc", "_id": "1", "_version": 4, "result": "updated", "_shards": { "total": 2, "successful": 2, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }

Questa dimensione della risposta potrebbe sembrare minima, ma se si indicizza 1.000.000 di documenti al giorno, circa 11,5 documenti al secondo, 339 byte per risposta sono 10,17 GB di traffico di download al mese.

Se i costi di trasferimento dei dati sono un problema, utilizzate il filter_path parametro per ridurre le dimensioni della risposta del OpenSearch Servizio, ma fate attenzione a non filtrare i campi necessari per identificare o riprovare le richieste non riuscite. Questi campi possono variare a seconda del client. Il filter_path parametro funziona per tutte le API REST del OpenSearch servizio, ma è particolarmente utile con le API che chiamate frequentemente, come le _index API and: _bulk

PUT opensearch-domain/more-movies/_doc/1?filter_path=result,_shards.total {"title": "Back to the Future"}

Risposta

{ "result": "updated", "_shards": { "total": 2 } }

Invece di includere i campi, puoi escluderli con un prefisso -. filter_path supporta anche i caratteri jolly:

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"}

Risposta

{ "errors": false, "items": [ { "index": { "result": "updated", "status": 200 } }, { "index": { "result": "updated", "status": 200 } } ] }

Codec indicizzati

I codec di indice determinano il modo in cui i campi memorizzati in un indice vengono compressi e archiviati su disco. Il codec dell'indice è controllato dall'index.codecimpostazione statica, che specifica l'algoritmo di compressione. Questa impostazione influisce sulla dimensione del frammento di indice e sulle prestazioni operative.

Per un elenco dei codec supportati e delle relative caratteristiche prestazionali, consultate Codec supportati nella documentazione. OpenSearch

Quando scegliete un codec di indice, tenete presente quanto segue: