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
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.codec
impostazione 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
Quando scegliete un codec di indice, tenete presente quanto segue:
-
Per evitare i problemi legati alla modifica dell'impostazione del codec di un indice esistente, testate un carico di lavoro rappresentativo in un ambiente non di produzione prima di utilizzare una nuova impostazione del codec. Per ulteriori informazioni, consultate Modifica
di un codec di indice. -
Non puoi utilizzare i codec di compressione Zstandard (
"index.codec": "zstd"
o"index.codec": "zstd_no_dict"
) per gliindici k-NN o Security Analytics.