Masseindeksering og Bulk API
Indeksér tusindvis af dokumenter effektivt med Bulk API, og lær at håndtere delvise fejl.
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 erstatcreate— mislykkes, hvis id'et findesupdate— delvis opdateringdelete— 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.
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
- Indeksering af dokumenter i Elasticsearch
- CRUD-operationer med dokumenter
- Grundlæggende mapping og datatyper
- Masseindeksering og Bulk API