Indexación de documentos en Elasticsearch
Comprenda cómo indexar uno o varios documentos en un índice de Elasticsearch, incluida la generación automática de identificadores y el uso de identificadores personalizados.
Indexación de documentos en Elasticsearch es una lección gratuita de Elasticsearch & Full Text Search Systems en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Elasticsearch & Full Text Search Systems, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
What is Indexing?
Welcome to indexing! In Elasticsearch, indexing is the process of storing data into an index to make it searchable.
Think of it like adding a new book to a library's catalog. You provide the book's details, and the library stores them in a way that makes the book easy to find later.
Documents & Indices Refresher
Before we dive in, let's quickly recap two core concepts:
- Document: A basic unit of information in Elasticsearch, similar to a row in a traditional database. It's usually a JSON object.
- Index: A collection of documents that have similar characteristics. It's like a database in a relational world.
When you index, you add a document to an index.
The Index API
You interact with Elasticsearch using its REST API. To index a document, you'll typically use HTTP POST or PUT requests.
POST /<index>/_doc: Used to index a document, often letting Elasticsearch generate an ID.PUT /<index>/_doc/<id>: Used to index a document with a specific, user-provided ID.
Let's see them in action!
Auto-Generated IDs
The simplest way to index is to let Elasticsearch generate a unique ID for your document. You use the POST method to the _doc endpoint without specifying an ID.
Here's an example using curl to index a document into an index named products:
curl -X POST "localhost:9200/products/_doc?pretty" \
-H 'Content-Type: application/json' \
-d'{"name": "Laptop", "price": 1200}'Understanding Auto IDs
After the previous POST request, Elasticsearch would return a response including a unique _id for your document, like "_id": "AbCdEfGhIjKlMnOpQrSt".
When should you use auto-generated IDs?
- When you don't have a natural unique identifier for your data.
- For logs or temporary data where a unique ID isn't critical for external reference.
- When you want to guarantee a new document is always created.
Indexing with Custom IDs
Often, your data already has a unique identifier from another system (e.g., a database primary key). In such cases, you can provide your own ID using the PUT method.
The ID is specified directly in the URL path: /<index>/_doc/<your_id>.
curl -X PUT "localhost:9200/products/_doc/prod_101?pretty" \
-H 'Content-Type: application/json' \
-d'{"name": "Smartphone", "price": 800}'Why Use Custom IDs?
Using custom IDs offers several advantages:
- Integration: Easily map Elasticsearch documents to records in an external database.
- Predictability: You know the document's ID beforehand.
- Updates: It makes updating specific documents straightforward, as you always refer to them by their known ID.
Idempotency with PUT
A key concept when using PUT with a custom ID is idempotency. This means that performing the same operation multiple times will produce the same result as performing it once.
- If a document with the specified ID already exists,
PUTwill update it. - If it doesn't exist,
PUTwill create it.
This is different from POST, which always creates a *new* document with a new ID.
Indexing Many Documents
While indexing documents one-by-one is fine for small numbers, it can be inefficient for large datasets due to network overhead.
Elasticsearch provides a powerful _bulk API that allows you to perform multiple index, update, or delete operations in a single request. This dramatically improves indexing performance.
We'll explore the _bulk API in more detail in a future lesson!
Indexing Method Check
Imagine you have a new set of sensor readings. Each reading is unique, and you don't have a predefined ID for them, but you want to store them in Elasticsearch to be searchable.
Recap: Indexing Essentials
Great job! In this lesson, you learned the fundamentals of indexing documents into Elasticsearch:
- What indexing means and its role in making data searchable.
- The difference between documents and indices.
- How to use
POST /<index>/_docto index documents with auto-generated IDs. - How to use
PUT /<index>/_doc/<id>to index documents with custom IDs. - The concept of idempotency when using
PUT. - A brief introduction to the efficiency of bulk indexing.
Next, we'll explore more operations on these documents!
Preguntas frecuentes
¿La lección «Indexación de documentos en Elasticsearch» es gratis?
Sí — el texto completo de «Indexación de documentos en Elasticsearch» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Elasticsearch & Full Text Search Systems, actualiza a CoddyKit PRO. El curso de Elasticsearch & Full Text Search Systems incluye 4 lecciones en total.
¿Qué aprenderé en «Indexación de documentos en Elasticsearch»?
Comprenda cómo indexar uno o varios documentos en un índice de Elasticsearch, incluida la generación automática de identificadores y el uso de identificadores personalizados. Practicas Elasticsearch & Full Text Search Systems con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Elasticsearch & Full Text Search Systems?
No se requiere experiencia previa. Elasticsearch & Full Text Search Systems en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Indexación de documentos en Elasticsearch»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Elasticsearch & Full Text Search Systems?
Sí. Cada lección de Elasticsearch & Full Text Search Systems incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Indexación de documentos en Elasticsearch
- Operaciones CRUD con documentos
- Mapeos básicos y tipos de datos
- Indexación masiva y Bulk API