Elastisk sökning

Elasticsearch Reindexa alla index och kontrollera statusen

Elasticsearch Reindexa alla index och kontrollera statusen
När du arbetar med databaser måste du oundvikligen göra ändringar som att lägga till, ta bort och modifiera data.

När du modifierar data i ett Elasticsearch-index kan det leda till stillestånd när funktionaliteten slutförs och data indexeras om.

Denna handledning ger dig ett mycket bättre sätt att uppdatera index utan att uppleva stillestånd med den befintliga datakällan. Med hjälp av Elasticsearch-återindexerings-API: et kommer vi att kopiera data från en specifik källa till en annan.

Låt oss komma igång.

NOTERA: Innan vi kommer igång är Reindexing-resurser tunga, särskilt på stora index. För att minimera den tid som krävs för Reindexing, inaktivera number_of_replicas genom att ställa in värdet till 0 och aktivera dem när processen är klar.

Aktivera _Source Field

Återindexingen kräver att källfältet är aktiverat på alla dokument i källindexet. Observera att källfältet inte är indexerat och inte kan sökas men är användbart för olika förfrågningar.

Aktivera fältet _Source genom att lägga till en post enligt nedan:

PUT index_1

“Mappings”:
"_källa":
"enabled": true


Reindexa alla dokument

För att omindexera dokument måste vi ange källa och destination. Källa och destination kan vara ett befintligt index, indexalias och dataströmmar. Du kan använda index från det lokala eller ett fjärrkluster.

NOTERA: För att indexering ska kunna ske framgångsrikt kan både källa och destination inte vara lika. Du måste också konfigurera destinationen som krävs före Reindexing eftersom den inte tillämpar inställningar från källan eller någon associerad mall.

Den allmänna syntaxen för Reindexing är som:

POST / _reindex

Låt oss börja med att skapa två index. Den första är källan och den andra destinationen.

PUT / source_index

"inställningar": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliases":
"alias_1": ,
"alias_2":
"filter": "term":
"användare.id ":" kibana "
, "routing": "1"


Kommandot cURL är:

curl -XPUT "http: // localhost: 9200 / source_index" -H 'Content-Type: application / json' -d '"settings": "number_of_replicas": 0, "number_of_shards": 1, "mappings" : "_source": "enabled": true, "aliases::" "alias_1": , "alias_2": "filter": "term": "user.id ":" kibana "," routing ":" 1 " '

Nu för destinationsindexet (du kan använda kommandot ovan och ändra några saker eller använda det som anges nedan):

PUT / destination_index

"inställningar": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliases::
"alias_3": ,
"alias_4":
"filter": "term":
"användare.id ":" kibana "
, "routing": "1"


Som alltid kan cURL-användare använda kommandot:

curl -XPUT "http: // localhost: 9200 / destination_index" -H 'Content-Type: application / json' -d '"settings": "number_of_replicas": 0, "number_of_shards": 1, "mappings" : "_source": "enabled": true, "aliases": "alias_3": , "alias_4": "filter": "term": "user.id ":" kibana "," routing ":" 1 " '

Nu har vi de index som vi vill använda, vi kan sedan gå vidare för att indexera om dokumenten.

Tänk på begäran nedan som kopierar data från source_index till destination_index:

POST _reindex

“Källa”:
"index": "source_index"
,
"dest":
"index": "destination_index"

CURL-kommandot för detta är:

curl -XPOST "http: // localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": ".kibana "," dest ": " index ":" destination_index " '

Genom att utföra detta kommando bör du få detaljerad information om den utförda åtgärden.

NOTERA: Source_index ska ha data.


"tog": 2836,
"timed_out": falskt,
"totalt": 13059,
"uppdaterad": 0,
"skapad": 13059,
"borttagen": 0,
"satser": 14,
"version_conflicts": 0,
"noops": 0,
"försöker igen":
"bulk": 0,
"sök": 0
,
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0,
"misslyckanden": []

Kontrollerar omindexeringsstatus

Du kan visa statusen för Reindexing-operationerna genom att helt enkelt använda _tasks. Tänk till exempel på begäran nedan:

GET / _uppgifter?detaljerad = true & actions = * reindex & group_by = föräldrar

Kommandot cURL är:

curl -XGET "http: // localhost: 9200 / _tasks?detaljerad = true & actions = * reindex & group_by = föräldrar "

Det borde ge dig detaljerad information om Reindexing-processen enligt nedan:


"uppgifter":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"node": "FTd_2iXjSXudN_Ua4tZhHg",
"id": 51847,
"type": "transport",
"action": "index: data / write / reindex",
"status":
"totalt": 13059,
"uppdaterad": 9000,
"skapad": 0,
"borttagen": 0,
"satser": 10,
"version_conflicts": 0,
"noops": 0,
"försöker igen":
"bulk": 0,
"sök": 0
,
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0
,
"description": "reindex från [source_index] till [destination_index] [_ doc]",
"start_time_in_millis": 1611247308063,
"running_time_in_nanos": 2094157836,
"avbokningsbar": sant,
"rubriker":


Slutsats

Vi har täckt allt du behöver veta om att använda Elasticsearch Reindexing API för att kopiera dokument från ett index (källa) till ett annat (destination). Även om det finns mer i Reindexing API, bör den här guiden hjälpa dig att komma igång.

Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...
Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...
Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...