Index Not Found
Severity:
High
Elasticsearch Version:
8.5.0
Problem
Elasticsearch returns index_not_found_exception when queries or writes target a missing index.
Root Cause
The target index does not exist or has been deleted, leading to failed operations.
How to Detect
Symptoms
- Error messages indicating index_not_found_exception in logs
- Failed query or write operations with index_not_found_exception
- Monitoring alerts for failed Elasticsearch requests
Commands
curl -X GET 'localhost:9200/_cat/indices?v'
curl -X GET 'localhost:9200/your_index_name'
curl -X GET 'localhost:9200/_cluster/health?level=indices'
Remediation Steps
- Verify the index name in the query matches existing indices
- Create the missing index using 'PUT /your_index_name' if it should exist
- Restore the index from snapshot if it was accidentally deleted
- Update application logic to check index existence before querying or writing
Prevention
- Implement index existence checks in application code
- Use index templates to ensure indices are created automatically
- Configure index lifecycle management policies
- Monitor index creation and deletion events
Production Example
curl -X PUT 'localhost:9200/your_index_name' -H 'Content-Type: application/json' -d'{"settings": {"number_of_shards": 1, "number_of_replicas": 1}}'