Elastisch zoeken

Elasticsearch Indexeert alle indexen opnieuw en controleert de status

Elasticsearch Indexeert alle indexen opnieuw en controleert de status
Wanneer u met databases werkt, moet u onvermijdelijk wijzigingen aanbrengen, zoals het toevoegen, verwijderen en wijzigen van gegevens.

Wanneer u gegevens in een Elasticsearch-index wijzigt, kan dit leiden tot uitvaltijd omdat de functionaliteit wordt voltooid en de gegevens opnieuw worden geïndexeerd.

Deze tutorial geeft je een veel betere manier om indexen bij te werken zonder enige downtime met de bestaande gegevensbron. Met behulp van de Elasticsearch-herindexerings-API zullen we gegevens van een specifieke bron naar een andere kopiëren.

Laten we beginnen.

OPMERKING: Voordat we beginnen, zijn herindexeringsbewerkingen veel resources, vooral bij grote indices. Om de tijd die nodig is voor het opnieuw indexeren te minimaliseren, schakelt u number_of_replicas uit door de waarde in te stellen op 0 en schakelt u ze in zodra het proces is voltooid.

_Bronveld inschakelen

De bewerking Opnieuw indexeren vereist dat het bronveld is ingeschakeld voor alle documenten in de bronindex. Merk op dat het bronveld niet is geïndexeerd en niet kan worden doorzocht, maar is nuttig voor verschillende verzoeken.

Schakel het veld _Bron in door een vermelding toe te voegen, zoals hieronder weergegeven:

PUT index_1

“toewijzingen”:
"_bron":
"ingeschakeld": waar


Alle documenten opnieuw indexeren

Om documenten opnieuw te indexeren, moeten we de bron en bestemming specificeren. Bron en bestemming kunnen een bestaande index, indexalias en gegevensstromen zijn. U kunt indices van de lokale of een externe cluster gebruiken.

OPMERKING: Voor een succesvolle indexering mogen zowel de bron als de bestemming niet gelijk zijn. U moet ook de bestemming configureren zoals vereist voordat u opnieuw indexeert, omdat het geen instellingen van de bron of een gekoppelde sjabloon toepast.

De algemene syntaxis voor opnieuw indexeren is als volgt:

POST /_reindex

Laten we beginnen met het maken van twee indices. De eerste zal de bron zijn en de andere zal de bestemming zijn.

PUT /source_index

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliassen":
"alias_1": ,
"alias_2":
"filter": "term":
"gebruiker.id": "kibana"
,"routering": "1"


Het cURL-commando is:

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":         "gebruiker.id": "kibana"      ,"routing": "1"      '

Nu voor de bestemmingsindex (u kunt de bovenstaande opdracht gebruiken en een paar dingen wijzigen of de onderstaande gebruiken):

PUT /bestemmingsindex

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliassen":
"alias_3": ,
"alias_4":
"filter": "term":
"gebruiker.id": "kibana"
,"routering": "1"


Zoals altijd kunnen cURL-gebruikers het commando gebruiken:

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":         "gebruiker.id": "kibana"      ,"routing": "1"      '

Nu hebben we de indices die we willen gebruiken, we kunnen dan verder gaan om de documenten opnieuw te indexeren.

Overweeg het onderstaande verzoek dat de gegevens kopieert van source_index naar destination_index:

POST _reindex

“bron”:
"index": "source_index"
,
"bestemming":
"index": "bestemmingsindex"

Het cURL-commando hiervoor is:

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

Als u deze opdracht uitvoert, krijgt u gedetailleerde informatie over de uitgevoerde bewerking.

OPMERKING: De source_index zou gegevens moeten hebben.


"nam" : 2836,
"timed_out" : false,
"totaal" : 13059,
"bijgewerkt" : 0,
"gemaakt" : 13059,
"verwijderd" : 0,
"batches" : 14,
"version_conflicts" : 0,
"noops" : 0,
"opnieuw proberen" :
"bulk" : 0,
"zoeken" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0,
"mislukkingen" : [ ]

Herindexeringsstatus controleren

U kunt de status van de herindexeringsbewerkingen bekijken door simpelweg de _tasks . te gebruiken. Bekijk bijvoorbeeld het onderstaande verzoek:

GET /_taken?gedetailleerd=true&actions=*reindex&group_by=ouders

Het cURL-commando is:

curl -XGET "http://localhost:9200/_tasks?gedetailleerd=true&actions=*reindex&group_by=ouders"

Dat zou u gedetailleerde informatie moeten geven over het herindexeringsproces, zoals hieronder weergegeven:


"taken" :
"FTd_2iXjSXudN_Ua4tZhHg:51847" :
"node" : "FTd_2iXjSXudN_Ua4tZhHg",
"id" : 51847,
"soort" : "vervoer",
"action" : "indexen:data/write/reindex",
"toestand" :
"totaal" : 13059,
"bijgewerkt" : 9000,
"gemaakt" : 0,
"verwijderd" : 0,
"batches" : 10,
"version_conflicts" : 0,
"noops" : 0,
"opnieuw proberen" :
"bulk" : 0,
"zoeken" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0
,
"description" : "herindexeren van [source_index] naar [destination_index][_doc]",
"start_time_in_millis" : 1611247308063,
"running_time_in_nanos" : 2094157836,
"opzegbaar" : true,
"kopteksten" :


Conclusie

We hebben alles besproken wat u moet weten over het gebruik van Elasticsearch Reindexing API om documenten van de ene index (bron) naar de andere (bestemming) te kopiëren. Hoewel er meer is aan de Reindexing API, zou deze gids u op weg moeten helpen.

Beheer en beheer muisbewegingen tussen meerdere monitoren in Windows 10
Muisbeheer voor twee schermen laat je muisbewegingen tussen meerdere monitoren controleren en configureren door de bewegingen nabij de grens te vertra...
Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...
Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...