As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Indexação de dados no Amazon OpenSearch Service
Como o Amazon OpenSearch Service usa uma API REST, existem vários métodos para indexar documentos. Você pode usar os clientes padrão, como curl
É altamente recomendável que você use a Ingestão do Amazon OpenSearch para ingerir dados. Trata-se de um coletor de dados totalmente gerenciado criado dentro do OpenSearch Service. Para obter mais informações, consulte Ingestão do Amazon OpenSearch.
Para obter uma introdução à indexação, consulte a documentação OpenSearch
Restrições de nomenclatura para índices
Os índices do OpenSearch Service têm as seguintes restrições de nomenclatura:
-
Todas as letras devem estar em minúscula.
-
Os nomes de índice não podem começar com
_
ou-
. -
Os nomes de índice não podem conter espaços, vírgulas,
:
,"
,*
,+
,/
,\
,|
,?
,#
,>
ou<
.
Não inclua informações sigilosas nos nomes de índice, tipos ou IDs de documentos. O OpenSearch Service usa esses nomes em seus identificadores de recursos uniformes (URIs). Servidores e aplicativos geralmente registram solicitações de HTTP, o que poderá levar à exposição desnecessária de dados se os URIs contiverem informações confidenciais.
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"
Mesmo se não tivesse permissões para visualizar o documento JSON associado, você poderia inferir por essa linha de log falsa que um dos pacientes do Dr. Doe cujo número de telefone é 202-555-0100 contraiu gripe em 2018.
Se o OpenSearch Service detectar um endereço IP real ou aparente em um nome de índice (por exemplo, my-index-12.34.56.78.91
), ele vai mascarar o endereço IP. Uma chamada para _cat/indices
produz a seguinte resposta:
green open my-index-x.x.x.x.91 soY19tBERoKo71WcEScidw 5 1 0 0 2kb 1kb
Para evitar confusões desnecessárias, evite incluir endereços IP em nomes de índices.
Redução do tamanho da resposta
As respostas das APIs _index
e _bulk
contêm um pouco de informações. Essas informações podem ser úteis para solução de problemas de solicitações ou para implementar a lógica de tentativas repetidas, mas pode usar consideravelmente a banda larga. Neste exemplo, indexar um documento de 32 bytes resulta em uma resposta de 339 bytes (incluindo cabeçalhos):
PUT
opensearch-domain
/more-movies/_doc/1 {"title": "Back to the Future"}
Resposta
{ "_index": "more-movies", "_type": "_doc", "_id": "1", "_version": 4, "result": "updated", "_shards": { "total": 2, "successful": 2, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }
Esse tamanho de resposta pode parecer insignificante, mas se você indexar 1.000.000 documentos por dia — aproximadamente 11,5 documentos por segundo —, 339 bytes por resposta representam 10,17 GB de tráfego de download por mês.
Se os custos de transferência de dados forem uma preocupação, use o parâmetro filter_path
para reduzir o tamanho da resposta do OpenSearch Service, mas tenha cuidado para não filtrar campos que você precisa para identificar ou realizar novas tentativas de solicitações com falha. Esses campos variam de acordo com o cliente. O parâmetro filter_path
funciona para todas as APIs REST do OpenSearch Service, mas é especialmente útil com APIs que você chama com frequência, como as APIs _index
e _bulk
:
PUT
opensearch-domain
/more-movies/_doc/1?filter_path=result,_shards.total {"title": "Back to the Future"}
Resposta
{ "result": "updated", "_shards": { "total": 2 } }
Em vez de incluir campos, você pode excluir campos com um prefixo -
. filter_path
também oferece suporte a curingas:
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"}
Resposta
{ "errors": false, "items": [ { "index": { "result": "updated", "status": 200 } }, { "index": { "result": "updated", "status": 200 } } ] }
Codecs de índice
Os codecs de índice determinam como os campos armazenados em um índice são compactados e armazenados no disco. O codec de índice é controlado pela configuração estática index.codec
, que especifica o algoritmo de compactação. Essa configuração afeta o tamanho do fragmento de índice e o desempenho da operação.
Para obter uma lista dos codecs compatíveis e suas características de desempenho, consulte Codecs compatíveis
Ao escolher um codec de índice, considere o seguinte:
-
Para evitar os desafios de alterar a configuração do codec de um índice existente, teste uma workload representativa em um ambiente que não seja de produção antes de usar uma nova configuração de codec. Para mais informações, consulte Alterar um codec de índice
. -
Você não pode usar os codecs de compressão Zstandard
( "index.codec": "zstd"
ou"index.codec": "zstd_no_dict"
) e para índices k-NNou Security Analytics .