Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Consultas Básicas en Elasticsearch con Postman

4/16
Recursos

¿Cómo crear un documento en Elastic Search?

Elastic Search es una herramienta poderosa para la gestión y búsqueda de datos en tiempo real. En este contenido, exploraremos cómo se pueden crear documentos en Elastic Search utilizando diferentes métodos, y cómo manejar sus índices de manera eficiente.

Para empezar, se utilizan solicitudes HTTP a través de una herramienta como Postman. Aquí, te guiaré a través del proceso de crear documentos y gestionar IDs.

¿Cómo se crea un documento con un ID específico?

Para crear un documento con un ID específico, utilizamos el verbo HTTP PUT. Este método es útil cuando deseas que Elastic Search utilice un ID predefinido, lo cual es común si necesitas mantener un ID consistente con otra base de datos.

Pasos para crear un documento con ID:

  1. Configura la consulta en Postman:

    • Verbo: PUT
    • URL: http://localhost:9200/usuarios/_doc/1
    {
        "nombre": "Rate",
        "apellido": "Sánchez"
    }
    
  2. Enviar la consulta: Al enviar, Elastic Search creará el documento en el índice usuarios con el ID 1, y el documento es versionado internamente.

¿Cómo se crea un documento con un ID autogenerado?

Para situaciones donde no se requiere un ID específico, o donde se prefiere que Elastic Search lo maneje, el verbo POST se utiliza. Este método es práctico porque Elastic Search se encargará de generar un ID automáticamente.

Pasos para crear un documento sin especificar ID:

  1. Configura la consulta en Postman:

    • Verbo: POST
    • URL: http://localhost:9200/usuarios/_doc
    {
        "nombre": "Morty Smith"
    }
    
  2. Enviar la consulta: Elastic Search generará un ID único, y el documento se creará exitosamente. Se puede optar por el parámetro refresh para hacer que el documento sea inmediatamente buscable.

¿Cómo manejar la creación de índices automáticos?

Elastic Search tiene la capacidad de crear índices automáticamente si envías un documento a un índice que aún no existe. Esto ahorra tiempo y simplifica la gestión.

Ventajas:

  • No necesitas preocuparte por crear índices previamente.
  • Elastic Search gestiona versiones automáticamente, permitiéndote modificar documentos sin fricciones.

¿Cómo crear varios documentos simultáneamente?

Elastic Search permite la creación de múltiples documentos a través de la acción bulk. Aquí, crearemos varios usuarios al mismo tiempo utilizando un archivo JSON.

Pasos para la creación múltiple:

  1. Prepara el archivo JSON:

    • Crea un archivo usuarios.json en tu directorio de trabajo.
    { "index": { "_id": "3" } }
    { "nombre": "Beth", "apellido": "Smith" }
    { "index": { "_id": "4" } }
    { "nombre": "Jerry", "apellido": "Smette" }
    
  2. Envía el archivo en Postman:

    • Verbo: POST
    • URL: http://localhost:9200/usuarios/_bulk
    • Cuerpo: Selecciona la opción Binary y carga tu archivo usuarios.json.
  3. Enviar la consulta: Elastic Search procesa todos los documentos en la solicitud y te informará sobre su creación sin errores.

La creación de documentos en Elastic Search permite flexibilidad adecuada para diferentes escenarios de negocio, ya sea con IDs específicos o autogenerados. Recuerda que con Elastic Search, puedes elegir el enfoque que mejor se adapte a tus necesidades específicas y continuar explorando sus capacidades. ¡Sigue aprendiendo!

Aportes 32

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

pienso que el profesor deberia de explicar en video la instalacion ?

El archivo .json debe terminar con salto de lineal. de lo contrario arroja error.

En el mundo real, cómo se utiliza elasticSearch? Es decir, tengo por ejemplo un backend, y este se comunicaría con ElasticSearch para ir almacenando información?

Cómo sería una arquitectura en la que se trabaja con Elastic Search?

si necesitan correr ES solo usando docker run, solo cambien a su version favorita:
docker run -d -p 9200:9200 -e “http.host=0.0.0.0” -e “transport.host=127.0.0.1” -e “xpack.security.enabled=false” docker.elastic.co/elasticsearch/elasticsearch:6.0.1

no se ve nadaaaaaaaa …solo las tomas del instructor estan bien, las querys estan muy lejos…

Para usar _bulk en AWS ES especificar el indice

{ "index" : { "_index": "usuarios", "_id" : "3" } }
{ "nombre" : "Beth", "apellido": "Smith" }
{ "index" : { "_index": "usuarios", "_id" : "4" } }
{ "nombre" : "Jerry", "apellido": "Smith" }```

Es muy importante saber los diferentes objetivos de los motores de bases de datos (). Es increíble la capacidad de esta base de datos, con una bdd SQL para todo tu negocio, sumado a este motor para las entidades con mayores transacciones. Increíble.

no entiendo la finalidad del curso ? podrias explicar estimado profesor ???

{"index": {"_id":"3"}}
{"nombre":"Beth", "apellido":"Smith"}
{"index":{"_id":"4"}}
{"nombre":"Jerry", "apellido":"Smith"}

quede plow de perdido

en el telefono no se ve nada

No me sirve ninguna consulta de las que haces ahi, me sale lo siguiente: Could not send request

PIENSO QUE EL PROFESOR DEBERIA HACER UN VIDEO DE INSTALACION DE POSTMAN, PORQUE ME SALE ESTE ERROR Y NO HE PODIDO PONER EN PRACTICA EL CONTENIDO DE ESTE CURSO SOLO VER Y ASI CONTINUE.

Error: connect ECONNREFUSED 127.0.0.1:9200
Request Headers
Content-Type: application/json
User-Agent: PostmanRuntime/7.28.4
Accept: /
Cache-Control: no-cache
Postman-Token: f13e982d-2c40-4ca0-8484-52b59958af26
Host: localhost:9200
Accept-Encoding: gzip, deflate, br

Las personas que no hayan podido instalar docker y ejecutar la imagen, puedo ayudarlos por favor contactar a +591 72051168 en whatssap
Me fue necesario ejecutar la petición de creación con verbo post primero para crear el indice porque me daba error la petición con PUT: ```js { "error": { "root_cause": [ { "type": "index_not_found_exception", "reason": "no such index [usuarios]", "resource.type": "index_expression", "resource.id": "usuarios", "index_uuid": "_na_", "index": "usuarios" } ], "type": "index_not_found_exception", "reason": "no such index [usuarios]", "resource.type": "index_expression", "resource.id": "usuarios", "index_uuid": "_na_", "index": "usuarios" }, "status": 404 } ```{ "error": { "root\_cause": \[ { "type": "index\_not\_found\_exception", "reason": "no such index \[usuarios]", "resource.type": "index\_expression", "resource.id": "usuarios", "index\_uuid": "\_na\_", "index": "usuarios" } ], "type": "index\_not\_found\_exception", "reason": "no such index \[usuarios]", "resource.type": "index\_expression", "resource.id": "usuarios", "index\_uuid": "\_na\_", "index": "usuarios" }, "status": 404}
La estructura del JSON presenta errores, pero esta es la que pide Elasticsearch para una carga masiva, no te preocupes. También se debe deshabilitar el autoformateo en Visual Studio Code debido a que Elasticsearch no te reconocerá cada sección si esta está separada en líneas diferentes.

Me sale este error al momento de ejecutar mi primer HTTP PUT.
¿Alguien tiene el mismo problema?

{
    "error": "Content-Type header [text/plain] is not supported",
    "status": 406
}

Por momentos siento que vamos como muy a toda maquina, solo siento q hago comandos, pero no entiendo porque o que hacen.

Hola! Si alguno luego de usar el comando “docker-compose up” tiene este error por terminal: “como solucionar el error: Native controller process has stopped - no new native processes can be started” yo lo pude solucionar con haciendo “sudo sysctl -w vm.max_map_count=280530” que es lo q aportan en este link “https://stackoverflow.com/questions/57881533/elasticsearch-start-errornative-controller-process-has-stopped-no-new-native

veo que hacemos consumos de put usando postman ? y nada mas ? eso es la finalidad search busquedas eso es todo ?

pero no se guardan en ningun base de datos ?

Agregar varios documentos al mismo tiempo con _bulk

Para un proyecto en produccion de 1000 registros por mes donde se tendran aproximadamente unos 2000 palabras por cada registro, cuanto de memoria ram y espacio en disco duro deberia tener como minimo? y como se calcula la cantidad de recursos que se nesesitara y el tema de la CPU.
Que cosas deberia contemplar o tomar en cuenta si tengo que administrar y monitorear mi servidor con elastic search?

no pensaba que se utilizaba endpoint para interactuar con ES, muy buena forma de trabajar.

Carga masiva: URL que utiliza Elasticsearch para subir archivos

¿Es valido hacer una comparación entre Elasticsearch y DynamoDB? en tal caso, ¿Cuál sería la diferencia entre ambas BD?

como agregan la nueva linea ?

Hasta ahora todo genial , mas me da la intriga de que si mas adelante se explica como construir un docker mas personalizado, como para aplicarlo a algún proyecto o empresa.

Genial, todo bien por ahora, entiendo que más adelante las aplicaciones podrán consumir la API de ElasticSearch, para insertar documentos que me puedan servir para búsquedas o realizar analítica de datos, cierto?

Sigo aquí sin saber que es realmente elasticsearch.
lo entiendo como una base de datos que almacena en json y funciona por http

Alguien me puede iluminar ?

se puede hacer carga masiva sin especificar el id? como se haría en ese caso?

Si alguien aún se siente un poco perdido recomiendo 100% este tutorial me ayudo muchisimo a entender como funciona elastic serarch en como motor de busqueda e inserccion

link : https://www.codementor.io/@ashish1dev/getting-started-with-elasticsearch-du107nett

Es una consulta de un tema algo más avanzado , tengo un indice de personas con los campos “full_name” , “fecha_nacimiento” y deseo poder realizar esta consulta usando comodines ya que los datos enviados en la consulta son obtenidos del documento mediante OCR por lo que no son datos muy limpios, he tratado con query string pero tengo problemas con los comodines … Te agradezco si me puedes ayudar