import { NextResponse } from 'next/server'; import { esClient, INDEX_NAME } from '@/lib/elasticsearch'; export async function GET() { try { // Check Elasticsearch connection const health = await esClient.cluster.health({}); // Check if index exists const indexExists = await esClient.indices.exists({ index: INDEX_NAME }); // Get index stats if exists let stats = null; if (indexExists) { const statsResponse = await esClient.indices.stats({ index: INDEX_NAME }); stats = { documentCount: statsResponse._all?.primaries?.docs?.count || 0, indexSize: statsResponse._all?.primaries?.store?.size_in_bytes || 0 }; } return NextResponse.json({ status: 'ok', elasticsearch: { cluster: health.cluster_name, status: health.status, }, index: { exists: indexExists, name: INDEX_NAME, stats } }); } catch (error) { console.error('Health check error:', error); return NextResponse.json( { status: 'error', error: error instanceof Error ? error.message : 'Unknown error' }, { status: 503 } ); } }