Elasticsearch er en kraftig åpen kildekode søke- og analysemotor som kan brukes til en rekke oppgaver, inkludert indeksering, søking og aggregering av data. Et vanlig problem som kan oppstå med Elasticsearch er tilstedeværelsen av ikke-tilordnede shards. Disse shards er ikke tilordnet noen node i klyngen og kan forårsake en rekke problemer, inkludert redusert ytelse og økt latens.
Heldigvis finnes det en rekke måter å slette ikke-tildelte shards i Elasticsearch. En enkel metode er å bruke _cluster/reroute API. Denne API-en lar deg tilordne shards manuelt til forskjellige noder i klyngen, og kan brukes til å slette ikke-tilordnede shards ved å tilordne dem til en ikke-eksisterende node.
For å bruke _cluster/reroute API, kan du bruke følgende curl-kommando:
```
curl -XPOST 'localhost:9200/_cluster/reroute?dry_run=true' -d '{
"kommandoer":[
{
"move":{
"index":"min_indeks",
"skår":0,
"target":"ikke_eksisterende_node"
}
}
]
}'
```
Denne kommandoen vil gi ut en liste over endringer som ville blitt gjort i klyngen hvis rebalanseringsoperasjonen skulle utføres. For å faktisk utføre rebalanseringsoperasjonen, kan du ganske enkelt utelate dry_run-parameteren fra curl-kommandoen.
En annen måte å slette ikke-tilordnede shards i Elasticsearch er å bruke Force Merge API. Denne API-en lar deg tvinge sammen flere segmenter i indeksen, noe som noen ganger kan resultere i sletting av ikke-tilordnede shards.
For å bruke Force Merge API, kan du bruke følgende curl-kommando:
```
curl -XPOST 'localhost:9200/my_index/_forcemerge?max_num_segments=1'
```
Denne kommandoen vil tvinge sammenslåing av alle segmenter i my_index-indeksen til et enkelt segment, noe som kan resultere i sletting av ikke-tilordnede shards.
Til slutt kan du også slette ikke-tilordnede shards i Elasticsearch ved å slette shards.json-filen fra datakatalogen. Dette er et mer drastisk tiltak og bør kun brukes hvis de andre metodene ikke har vært vellykket.
For å slette filen shards.json kan du bruke følgende kommando:
```
rm -f data/nodes/0/indices/my_index/0/shards.json
```
Denne kommandoen vil slette shards.json-filen for shard 0 av my_index-indeksen. Du må gjenta denne kommandoen for hver ikke-tilordnede shard du vil slette.
Ved å følge disse trinnene kan du enkelt slette ikke-tilordnede shards i Elasticsearch og forbedre ytelsen til klyngen din.