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 AmazonOpenSearchServizio
Perché AmazonOpenSearchIl servizio utilizza un'API REST, esistono numerosi metodi per l'indicizzazione dei documenti. Puoi utilizzare client standard come curl
Ti consigliamo vivamente di utilizzare AmazonOpenSearchInserimento per assimilare dati, che è un raccoglitore di dati completamente gestito integratoOpenSearchServizio. Per ulteriori informazioni, vedereAmazonOpenSearchIngestione.
Per un'introduzione all'indicizzazione, vedereOpenSearchdocumentazione
Limitazioni di denominazione per gli indici
OpenSearchGli 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 sensibili nei nomi di indice, tipo o ID documento. OpenSearchIl 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.
SeOpenSearchIl servizio 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, utilizzafilter_path
parametro per ridurre la dimensione delOpenSearchRisposta del servizio, ma fai attenzione a non filtrare i campi necessari per identificare o riprovare le richieste non riuscite. Questi campi possono variare a seconda del client. Lafilter_path
il parametro funziona per tuttiOpenSearchFornisce assistenza alle API REST, ma è particolarmente utile con le API che chiamate di frequente, come_index
e_bulk
API:
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 } } ] }