```go title="Go"
package main

import (
	"errors"
	"fmt"
	"log"

	"github.com/kreuzberg-dev/kreuzberg/packages/go/v5"
)

func main() {
	// Unregister a specific document extractor
	if err := kreuzberg.UnregisterDocumentExtractor("custom-json-extractor"); err != nil {
		var validErr *kreuzberg.ValidationError
		if errors.As(err, &validErr) {
			log.Printf("validation error: %v", err)
		} else {
			log.Fatalf("unregister document extractor: %v", err)
		}
	}

	// Unregister a specific post-processor
	if err := kreuzberg.UnregisterPostProcessor("word_count"); err != nil {
		var validErr *kreuzberg.ValidationError
		if errors.As(err, &validErr) {
			log.Printf("validation error: %v", err)
		} else {
			log.Fatalf("unregister post processor: %v", err)
		}
	}

	// Unregister a specific OCR backend
	if err := kreuzberg.UnregisterOCRBackend("cloud-ocr"); err != nil {
		var validErr *kreuzberg.ValidationError
		if errors.As(err, &validErr) {
			log.Printf("validation error: %v", err)
		} else {
			log.Fatalf("unregister OCR backend: %v", err)
		}
	}

	// Unregister a specific validator
	if err := kreuzberg.UnregisterValidator("min_length_validator"); err != nil {
		var validErr *kreuzberg.ValidationError
		if errors.As(err, &validErr) {
			log.Printf("validation error: %v", err)
		} else {
			log.Fatalf("unregister validator: %v", err)
		}
	}

	fmt.Println("Plugins unregistered successfully")
}
```
