{
  "version": 3,
  "generated_at": "2026-04-13T08:14:15Z",
  "generator": "generate_official_docs_index.py",
  "usage": "Source list for diagnosis-oriented PingCAP docs. Edit topics here, then run scripts/generate_official_docs_index.py (optional: --strict to require all URLs HTTP 2xx). Generated output: official-docs-index.json.",
  "doc_bases": {
    "tidb_stable_en": "https://docs.pingcap.com/tidb/stable",
    "tidb_stable_zh": "https://docs.pingcap.com/zh/tidb/stable",
    "tidb_cloud_en": "https://docs.pingcap.com/tidbcloud",
    "tidb_cloud_zh": "https://docs.pingcap.com/zh/tidbcloud"
  },
  "topics": [
    {
      "id": "cluster-troubleshooting-guide",
      "category": "troubleshooting",
      "keywords": [
        "troubleshoot",
        "cannot connect",
        "startup",
        "panic",
        "cluster down"
      ],
      "base": "tidb_stable_en",
      "path": "/troubleshoot-tidb-cluster",
      "summary": "Entry troubleshooting for connectivity, process start, and basic cluster issues."
    },
    {
      "id": "troubleshooting-map",
      "category": "troubleshooting",
      "keywords": [
        "troubleshooting map",
        "symptom",
        "where to look",
        "diagnosis flow"
      ],
      "base": "tidb_stable_en",
      "path": "/tidb-troubleshooting-map",
      "summary": "Structured map from symptoms to likely components and next steps."
    },
    {
      "id": "lock-conflicts",
      "category": "troubleshooting",
      "keywords": [
        "lock",
        "lock wait",
        "deadlock",
        "pessimistic lock conflict"
      ],
      "base": "tidb_stable_en",
      "path": "/troubleshoot-lock-conflicts",
      "summary": "Diagnosing lock-related errors and contention."
    },
    {
      "id": "slow-query-identify",
      "category": "sql_perf",
      "keywords": [
        "slow query",
        "slowquery",
        "slow log",
        "identify slow"
      ],
      "base": "tidb_stable_en",
      "path": "/identify-slow-queries",
      "summary": "Finding and interpreting slow queries."
    },
    {
      "id": "top-sql",
      "category": "sql_perf",
      "keywords": [
        "Top SQL",
        "TopSQL",
        "CPU by statement",
        "workload",
        "digest"
      ],
      "base": "tidb_stable_en",
      "path": "/top-sql",
      "summary": "Top SQL feature: CPU-oriented statement attribution on TiDB/TiKV instances."
    },
    {
      "id": "sql-tuning-overview",
      "category": "sql_perf",
      "keywords": [
        "SQL tuning",
        "optimization overview",
        "planner"
      ],
      "base": "tidb_stable_en",
      "path": "/sql-tuning-overview",
      "summary": "High-level SQL tuning concepts and links to EXPLAIN and plan control."
    },
    {
      "id": "explain-overview",
      "category": "sql_perf",
      "keywords": [
        "EXPLAIN",
        "execution plan",
        "estRows",
        "operator"
      ],
      "base": "tidb_stable_en",
      "path": "/explain-overview",
      "summary": "Reading TiDB EXPLAIN output and operators."
    },
    {
      "id": "control-execution-plan",
      "category": "sql_perf",
      "keywords": [
        "hints",
        "SPM",
        "plan management",
        "bind",
        "execution plan control"
      ],
      "base": "tidb_stable_en",
      "path": "/control-execution-plan",
      "summary": "Controlling plans: hints, SQL plan management, blocklist, optimizer fix controls."
    },
    {
      "id": "sql-plan-management",
      "category": "sql_perf",
      "keywords": [
        "SQL binding",
        "baseline",
        "plan evolution",
        "SPM"
      ],
      "base": "tidb_stable_en",
      "path": "/sql-plan-management",
      "summary": "SQL plan capture, binding, and evolution."
    },
    {
      "id": "optimizer-hints",
      "category": "sql_perf",
      "keywords": [
        "optimizer hint",
        "MERGE_JOIN",
        "INL_JOIN",
        "hint syntax"
      ],
      "base": "tidb_stable_en",
      "path": "/optimizer-hints",
      "summary": "Optimizer hint reference."
    },
    {
      "id": "statement-summary-tables",
      "category": "sql_perf",
      "keywords": [
        "statement summary",
        "information_schema",
        "cluster statements"
      ],
      "base": "tidb_stable_en",
      "path": "/statement-summary-tables",
      "summary": "Aggregated SQL statistics via system tables."
    },
    {
      "id": "statistics",
      "category": "sql_perf",
      "keywords": [
        "ANALYZE",
        "statistics",
        "histogram",
        "cardinality",
        "stats"
      ],
      "base": "tidb_stable_en",
      "path": "/statistics",
      "summary": "Table statistics collection and use by the optimizer."
    },
    {
      "id": "index-advisor",
      "category": "sql_perf",
      "keywords": [
        "Index Advisor",
        "index recommendation"
      ],
      "base": "tidb_stable_en",
      "path": "/index-advisor",
      "summary": "Automatic index recommendations."
    },
    {
      "id": "tidb-best-practices",
      "category": "sql_perf",
      "keywords": [
        "best practices",
        "hotspot",
        "write hotspot",
        "read hotspot",
        "sharding"
      ],
      "base": "tidb_stable_en",
      "path": "/tidb-best-practices",
      "summary": "Operational and SQL best practices including hotspot avoidance."
    },
    {
      "id": "resource-control-ru",
      "category": "resources",
      "keywords": [
        "RU",
        "resource unit",
        "resource control",
        "quota",
        "throttle",
        "RCU"
      ],
      "base": "tidb_stable_en",
      "path": "/tidb-resource-control",
      "summary": "Resource control and Request Units (RU)."
    },
    {
      "id": "dashboard-intro",
      "category": "observability",
      "keywords": [
        "TiDB Dashboard",
        "UI",
        "cluster status",
        "diagnostics UI"
      ],
      "base": "tidb_stable_en",
      "path": "/dashboard-intro",
      "summary": "TiDB Dashboard features: overview, statements, slow query, diagnostics, logs."
    },
    {
      "id": "tidb-monitoring-framework",
      "category": "observability",
      "keywords": [
        "Prometheus",
        "Grafana",
        "monitoring framework",
        "metrics stack"
      ],
      "base": "tidb_stable_en",
      "path": "/tidb-monitoring-framework",
      "summary": "Monitoring architecture (Prometheus/Grafana) for TiDB."
    },
    {
      "id": "gc-overview",
      "category": "transactions_storage",
      "keywords": [
        "GC",
        "garbage collection",
        "safepoint",
        "resolve lock"
      ],
      "base": "tidb_stable_en",
      "path": "/garbage-collection-overview",
      "summary": "TiDB GC behavior and impact."
    },
    {
      "id": "pessimistic-transaction",
      "category": "transactions_storage",
      "keywords": [
        "pessimistic",
        "SELECT FOR UPDATE",
        "lock"
      ],
      "base": "tidb_stable_en",
      "path": "/pessimistic-transaction",
      "summary": "Pessimistic transaction model."
    },
    {
      "id": "optimistic-transaction",
      "category": "transactions_storage",
      "keywords": [
        "optimistic transaction",
        "retry",
        "conflict"
      ],
      "base": "tidb_stable_en",
      "path": "/optimistic-transaction",
      "summary": "Optimistic transaction model and retries."
    },
    {
      "id": "pd-scheduling",
      "category": "components",
      "keywords": [
        "PD",
        "scheduler",
        "balance",
        "Region",
        "placement"
      ],
      "base": "tidb_stable_en",
      "path": "/tidb-scheduling",
      "summary": "PD scheduling and Region management overview."
    },
    {
      "id": "tikv-overview",
      "category": "components",
      "keywords": [
        "TiKV",
        "Raft",
        "Region",
        "coprocessor",
        "storage"
      ],
      "base": "tidb_stable_en",
      "path": "/tikv-overview",
      "summary": "TiKV architecture."
    },
    {
      "id": "tikv-massive-regions",
      "category": "components",
      "keywords": [
        "massive Regions",
        "Raftstore",
        "too many regions",
        "raft store CPU"
      ],
      "base": "tidb_stable_en",
      "path": "/massive-regions-best-practices",
      "summary": "Performance impact of many Regions and mitigation (merge, hibernate, etc.)."
    },
    {
      "id": "tune-region-performance",
      "category": "components",
      "keywords": [
        "Region size",
        "region split",
        "bucket",
        "Active PD Follower"
      ],
      "base": "tidb_stable_en",
      "path": "/tune-region-performance",
      "summary": "Tuning Region size, buckets, and PD follower for large Regions."
    },
    {
      "id": "tiflash-overview",
      "category": "components",
      "keywords": [
        "TiFlash",
        "MPP",
        "columnar",
        "HTAP"
      ],
      "base": "tidb_stable_en",
      "path": "/tiflash-overview",
      "summary": "TiFlash architecture and use."
    },
    {
      "id": "ticdc-overview",
      "category": "replication",
      "keywords": [
        "TiCDC",
        "changefeed",
        "replication"
      ],
      "base": "tidb_stable_en",
      "path": "/ticdc-overview",
      "summary": "TiCDC overview for change data capture."
    },
    {
      "id": "cloud-monitor-cluster",
      "category": "cloud_ops",
      "keywords": [
        "TiDB Cloud",
        "monitor cluster",
        "cluster status",
        "metrics page"
      ],
      "base": "tidb_cloud_en",
      "path": "/monitor-tidb-cluster",
      "summary": "Monitoring entry for TiDB Cloud clusters and node status."
    },
    {
      "id": "cloud-built-in-metrics",
      "category": "cloud_ops",
      "keywords": [
        "TiDB Cloud metrics",
        "RU",
        "RCU",
        "Query Duration",
        "TiProxy",
        "Dedicated"
      ],
      "base": "tidb_cloud_en",
      "path": "/built-in-monitoring",
      "summary": "Built-in Metrics page panels (Dedicated, Starter/Essential) for RCA."
    }
  ],
  "resolve_url": {
    "pattern": "{doc_bases[base]}{path}",
    "example_base": "tidb_stable_en",
    "example_path": "/tidb-resource-control",
    "example_result": "https://docs.pingcap.com/tidb/stable/tidb-resource-control"
  }
}
