Elasticsearch og systemer til fuldtekstsøgning · Lektion

Masseindeksering og Bulk API

Indeksér tusindvis af dokumenter effektivt med Bulk API, og lær at håndtere delvise fejl.

Lektion 4 af 413 trin

Masseindeksering og Bulk API er en gratis Elasticsearch og systemer til fuldtekstsøgning-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Elasticsearch og systemer til fuldtekstsøgning, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.

Hvorfor Bulk

Det er langsomt at indeksere dokumenter med én HTTP-anmodning ad gangen. Bulk API samler mange handlinger i én anmodning og forbedrer gennemløbet markant.

NDJSON-formatet

Bulk-anmodninger bruger JSON afgrænset af linjeskift: Hver handlingslinje efterfølges af sin kildelinje (for index/create/update). Hver linje slutter med et linjeskift, også den sidste.

En grundlæggende Bulk-anmodning

Her indekseres to dokumenter i ét kald.

POST /products/_bulk
{ "index": { "_id": "1" } }
{ "name": "Keyboard", "price": 40 }
{ "index": { "_id": "2" } }
{ "name": "Mouse", "price": 20 }

Understøttede handlinger

Bulk understøtter fire handlinger:

  • index — opret eller erstat
  • create — mislykkes, hvis id'et findes
  • update — delvis opdatering
  • delete — ingen kildelinje nødvendig

Kombination af handlinger

En enkelt Bulk-body kan kombinere handlinger og endda være rettet mod forskellige indeks via handlingens metadata.

POST /_bulk
{ "delete": { "_index": "products", "_id": "3" } }
{ "update": { "_index": "products", "_id": "1" } }
{ "doc": { "price": 45 } }

Delvise fejl

Det er vigtigt, at selve Bulk-anmodningen returnerer 200 OK, selvom nogle elementer mislykkes. Du skal kontrollere flaget errors og status for hvert element.

// response
{ "errors": true, "items": [ { "index": { "status": 201 } },
  { "index": { "status": 409 } } ] }

Valg af batchstørrelse

Der findes ikke et perfekt tal, men 1.000 til 5.000 dokumenter (eller nogle få megabyte) pr. Bulk-anmodning er et godt udgangspunkt. Mål ydeevnen, og tilpas efter dine data.

Optimering til tunge belastninger

Ved meget store indledende indlæsninger kan du midlertidigt deaktivere opdateringsintervallet og reducere antallet af replikaer og derefter gendanne dem bagefter.

PUT /products/_settings
{ "index": { "refresh_interval": "-1",
  "number_of_replicas": 0 } }

Gendannelse efter indlæsning

Når Bulk-indlæsningen er færdig, skal du aktivere opdateringer og replikaer igen, så dataene bliver søgbare og robuste.

PUT /products/_settings
{ "index": { "refresh_interval": "1s",
  "number_of_replicas": 1 } }

Nye forsøg efter fejl

En status på 429 (for mange anmodninger) betyder, at klyngen er overbelastet. Prøv kun de mislykkede elementer igen med eksponentiel ventetid, ikke hele batchen.

Hjælpefunktioner i klienter

Officielle klienter tilbyder Bulk-hjælpefunktioner, der automatisk opdeler, sender og forsøger igen, så du sjældent behøver at opbygge NDJSON manuelt i produktion.

Hurtig kontrol

En Bulk-anmodning returnerer HTTP 200. Er alt så i orden?

Opsummering

Du har lært om Bulk API: NDJSON-formatet, de fire handlinger, hvorfor delvise fejl kræver kontrol af hvert element, fornuftige batchstørrelser, optimering af opdateringer og replikaer under indlæsning samt nye forsøg efter 429-fejl med ventetid.

Gratis at komme i gang

Lær Elasticsearch og systemer til fuldtekstsøgning med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Masseindeksering og Bulk API” gratis?

Ja — alle 3 lektioner i læringssporet Elasticsearch og systemer til fuldtekstsøgning, inklusive “Masseindeksering og Bulk API”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Masseindeksering og Bulk API”?

Indeksér tusindvis af dokumenter effektivt med Bulk API, og lær at håndtere delvise fejl. Du øver dig i Elasticsearch og systemer til fuldtekstsøgning med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Elasticsearch og systemer til fuldtekstsøgning?

Der kræves ingen tidligere erfaring. Elasticsearch og systemer til fuldtekstsøgning på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Masseindeksering og Bulk API”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Elasticsearch og systemer til fuldtekstsøgning-lektion?

Ja. Alle Elasticsearch og systemer til fuldtekstsøgning-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Indeksering af dokumenter i Elasticsearch
  2. CRUD-operationer med dokumenter
  3. Grundlæggende mapping og datatyper
  4. Masseindeksering og Bulk API
← Tilbage til Elasticsearch og systemer til fuldtekstsøgning