Elasticsearch & Full Text Search Systems · Ders

Belgeleri Elasticsearch'e Dizinleme

Otomatik ID oluşturma ve özel ID'ler dahil olmak üzere tek ve birden çok belgeyi bir Elasticsearch dizinine nasıl dizinleyeceğinizi anlayın.

1. ders / 411 adım

Belgeleri Elasticsearch'e Dizinleme, CoddyKit'te ücretsiz bir Elasticsearch & Full Text Search Systems dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Elasticsearch & Full Text Search Systems öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Elasticsearch & Full Text Search Systems kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

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, PUT will update it.
  • If it doesn't exist, PUT will 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>/_doc to 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!

Başlamak ücretsiz

Yapay zeka eğitmeniyle Elasticsearch & Full Text Search Systems öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
12
Dersler
48

Sıkça Sorulan Sorular

“Belgeleri Elasticsearch'e Dizinleme” dersi ücretsiz mi?

Evet — “Belgeleri Elasticsearch'e Dizinleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Elasticsearch & Full Text Search Systems kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Elasticsearch & Full Text Search Systems kursu toplamda 4 dersten oluşur.

“Belgeleri Elasticsearch'e Dizinleme” dersinde ne öğreneceğim?

Otomatik ID oluşturma ve özel ID'ler dahil olmak üzere tek ve birden çok belgeyi bir Elasticsearch dizinine nasıl dizinleyeceğinizi anlayın. Elasticsearch & Full Text Search Systems ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Elasticsearch & Full Text Search Systems öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Elasticsearch & Full Text Search Systems, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Belgeleri Elasticsearch'e Dizinleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Elasticsearch & Full Text Search Systems dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Elasticsearch & Full Text Search Systems dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Belgeleri Elasticsearch'e Dizinleme
  2. Belgelerle CRUD İşlemleri
  3. Temel Eşleme ve Veri Türleri
  4. Toplu İndeksleme ve Bulk API
← Elasticsearch & Full Text Search Systems Sayfasına Dön