Indexación de datos en Amazon Service OpenSearch - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Indexación de datos en Amazon Service OpenSearch

Como Amazon OpenSearch Service usa una API REST, existen numerosos métodos para indexar documentos. Puede utilizar clientes estándar como curl o cualquier lenguaje de programación que pueda enviar solicitudes HTTP. Para simplificar aún más el proceso de interacción con ella, OpenSearch Service tiene clientes para muchos lenguajes de programación. Los usuarios avanzados pueden pasar directamente a Carga de datos de streaming en Amazon OpenSearch Service.

Le recomendamos encarecidamente que utilice Amazon OpenSearch Ingestion para ingerir datos, que es un recopilador de datos totalmente gestionado integrado en OpenSearch Service. Para obtener más información, consulta Amazon OpenSearch Ingestion.

Para obtener una introducción a la indexación, consulte la OpenSearch documentación.

Restricciones de nomenclatura de los índices

OpenSearch Los índices de servicios tienen las siguientes restricciones de nomenclatura:

  • Todas las letras deben estar en minúsculas.

  • Los nombres de los índices no pueden empezar por _ ni -.

  • Los nombres de los índices no pueden contener espacios, comas, :, ", *, +, /, \, |, ?, #, > o <.

No incluya información confidencial en los nombres de los índices, tipos o identificadores de documentos. OpenSearch El servicio usa estos nombres en sus identificadores uniformes de recursos (URI). A menudo, los servidores y las aplicaciones registran solicitudes HTTP, lo que puede dar lugar a que se expongan datos innecesariamente si los URI contienen información confidencial:

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"

Aunque no tenga permisos para ver el documento JSON asociado, puede inferir de esta línea de registro falsa que uno de los pacientes del Dr. Doe, cuyo número de teléfono es el 202-555-0100, tuvo gripe en 2018.

Si el OpenSearch servicio detecta una dirección IP real o percibida en un nombre de índice (por ejemplo,my-index-12.34.56.78.91), oculta la dirección IP. Una llamada a _cat/indices produce la siguiente respuesta:

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

Para evitar confusiones innecesarias, evite incluir direcciones IP en los nombres de los índices.

Reducción del tamaño de la respuesta

Las respuestas de las API _bulk y _index contienen bastante información. Esta información puede resultar útil para resolver problemas de las solicitudes o para implementar la lógica de reintentos, aunque puede utilizar una banda ancha considerable. En este ejemplo, la indexación de un documento de 32 bytes se traduce en una respuesta de 339 bytes (incluidos los encabezados):

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

Respuesta

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

Este tamaño de respuesta puede parecer mínimo, pero si indexa 1 000 000 de documentos al día (aproximadamente 11,5 documentos por segundo), 339 bytes por respuesta equivalen a 10,17 GB de tráfico de descarga al mes.

Si le preocupan los costes de transferencia de datos, utilice el filter_path parámetro para reducir el tamaño de la respuesta del OpenSearch Servicio, pero tenga cuidado de no filtrar los campos que necesite para identificar o reintentar las solicitudes fallidas. Estos campos varían por cliente. El filter_path parámetro funciona con todas las API REST del OpenSearch servicio, pero resulta especialmente útil con las API a las que se llama con frecuencia, como las _bulk API _index y:

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

Respuesta

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

En lugar de incluir campos, puede excluir campos con un prefijo -. filter_path también es compatible con comodines:

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

Respuesta

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

Códecs de índice

Los códecs de índice determinan cómo se comprimen y almacenan en el disco los campos almacenados en un índice. El códec de índice se controla mediante la configuración index.codec estática, que especifica el algoritmo de compresión. Esta configuración afecta el tamaño de la partición del índice y el rendimiento de la operación.

Para obtener una lista de los códecs compatibles y sus características de rendimiento, consulte los códecs compatibles en la documentación. OpenSearch

Cuando elija un códec de índice, tenga en cuenta lo siguiente: