@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,403 @@
1
+ ---
2
+ id: database-optimization-playbook
3
+ title: 数据库优化 Playbook
4
+ domain: data
5
+ category: 02-playbooks
6
+ difficulty: intermediate
7
+ tags: [agent, checklist, data, database, optimization, playbook, 优化决策流程图, 优化效果基准参考]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 数据库优化 Playbook
12
+
13
+ ## 概述
14
+
15
+ 本 Playbook 提供数据库性能优化的完整操作流程,按照递进式策略组织:慢查询分析 → 索引优化 → 查询重写 → 缓存策略 → 分区 → 读写分离。每一步都先以最小成本的方案解决问题,只在前一步不足时才进入下一步。适用于 PostgreSQL 和 MySQL,特定语法会标注数据库类型。
16
+
17
+ 原则:**先量化后优化,先单点后架构**。
18
+
19
+ ---
20
+
21
+ ## 第一步:慢查询分析
22
+
23
+ ### 目标
24
+
25
+ 找出系统中最消耗资源的 SQL 语句,建立优化优先级。
26
+
27
+ ### 操作步骤
28
+
29
+ 1. **启用慢查询日志**
30
+
31
+ ```
32
+ # PostgreSQL - 修改 postgresql.conf
33
+ log_min_duration_statement = 200 # 记录超过 200ms 的查询
34
+ shared_preload_libraries = 'pg_stat_statements'
35
+
36
+ # MySQL - 修改 my.cnf
37
+ slow_query_log = 1
38
+ long_query_time = 0.2
39
+ log_queries_not_using_indexes = 1
40
+ ```
41
+
42
+ 2. **收集慢查询数据(至少 7 天)**
43
+
44
+ ```
45
+ # PostgreSQL - 查看 Top 20 慢查询
46
+ SELECT query, calls, mean_exec_time, total_exec_time
47
+ FROM pg_stat_statements
48
+ ORDER BY total_exec_time DESC
49
+ LIMIT 20;
50
+
51
+ # MySQL - 使用 pt-query-digest 分析
52
+ pt-query-digest /var/log/mysql/slow.log > slow_report.txt
53
+ ```
54
+
55
+ 3. **分类慢查询**
56
+
57
+ | 类型 | 特征 | 优先级 |
58
+ |------|------|--------|
59
+ | 高频慢查询 | 调用量 > 1000/天,耗时 > 500ms | P0 |
60
+ | 低频超慢查询 | 调用量 < 100/天,耗时 > 5s | P1 |
61
+ | 全表扫描查询 | EXPLAIN 显示 Seq Scan / Full Table Scan | P1 |
62
+ | 锁等待查询 | 等锁时间 > 执行时间 | P0 |
63
+
64
+ 4. **建立基线**
65
+
66
+ - 记录每条慢查询的当前耗时(P50 / P95 / P99)
67
+ - 记录每条慢查询的调用频率
68
+ - 优化后对比基线评估效果
69
+
70
+ ---
71
+
72
+ ## 第二步:索引优化
73
+
74
+ ### 目标
75
+
76
+ 通过添加或调整索引消除不必要的全表扫描。
77
+
78
+ ### 操作步骤
79
+
80
+ 1. **分析查询执行计划**
81
+
82
+ ```sql
83
+ -- PostgreSQL
84
+ EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) SELECT ...;
85
+
86
+ -- MySQL
87
+ EXPLAIN FORMAT=JSON SELECT ...;
88
+ ```
89
+
90
+ 2. **识别需要索引的场景**
91
+
92
+ - [ ] WHERE 子句中频繁出现的列
93
+ - [ ] JOIN 条件中的关联列
94
+ - [ ] ORDER BY / GROUP BY 中的列
95
+ - [ ] 区分度高的列(如用户 ID)优先于区分度低的列(如性别)
96
+
97
+ 3. **索引类型选择**
98
+
99
+ | 场景 | 推荐索引类型 |
100
+ |------|-------------|
101
+ | 等值查询 | B-Tree(默认) |
102
+ | 范围查询 | B-Tree |
103
+ | 全文搜索 | GIN (PostgreSQL) / FULLTEXT (MySQL) |
104
+ | JSON 字段查询 | GIN (PostgreSQL) |
105
+ | 地理位置查询 | GiST (PostgreSQL) / SPATIAL (MySQL) |
106
+ | 多列组合查询 | 复合索引(注意列顺序:最左匹配) |
107
+
108
+ 4. **复合索引设计原则**
109
+
110
+ ```
111
+ 规则:等值列在前,范围列在后,排序列最后
112
+
113
+ 示例:WHERE status = 'active' AND created_at > '2024-01-01' ORDER BY id
114
+ 索引:CREATE INDEX idx_orders_status_created_id ON orders(status, created_at, id);
115
+ ```
116
+
117
+ 5. **索引健康检查**
118
+
119
+ ```sql
120
+ -- PostgreSQL - 查找未使用的索引
121
+ SELECT indexrelname, idx_scan
122
+ FROM pg_stat_user_indexes
123
+ WHERE idx_scan = 0 AND indexrelname NOT LIKE '%_pkey'
124
+ ORDER BY pg_relation_size(indexrelid) DESC;
125
+
126
+ -- 查找重复索引
127
+ SELECT * FROM pg_indexes WHERE tablename = 'orders';
128
+ ```
129
+
130
+ 6. **索引维护**
131
+
132
+ - [ ] 删除未使用的索引(减少写入开销)
133
+ - [ ] 删除重复索引(被更宽的复合索引覆盖的索引)
134
+ - [ ] 定期 REINDEX(PostgreSQL)/ OPTIMIZE TABLE(MySQL)
135
+ - [ ] 大表添加索引使用 CONCURRENTLY(PostgreSQL)避免锁表
136
+
137
+ ---
138
+
139
+ ## 第三步:查询重写
140
+
141
+ ### 目标
142
+
143
+ 在不改变业务逻辑的前提下,重写低效 SQL 语句。
144
+
145
+ ### 常见优化模式
146
+
147
+ 1. **避免 SELECT ***
148
+
149
+ ```sql
150
+ -- 差
151
+ SELECT * FROM orders WHERE user_id = 123;
152
+ -- 好(只取需要的列,可能命中覆盖索引)
153
+ SELECT id, status, total_amount FROM orders WHERE user_id = 123;
154
+ ```
155
+
156
+ 2. **子查询改写为 JOIN**
157
+
158
+ ```sql
159
+ -- 差(相关子查询,每行执行一次)
160
+ SELECT * FROM orders WHERE user_id IN (SELECT id FROM users WHERE status = 'active');
161
+ -- 好
162
+ SELECT o.* FROM orders o JOIN users u ON o.user_id = u.id WHERE u.status = 'active';
163
+ ```
164
+
165
+ 3. **分页优化**
166
+
167
+ ```sql
168
+ -- 差(OFFSET 越大越慢)
169
+ SELECT * FROM orders ORDER BY id LIMIT 20 OFFSET 100000;
170
+ -- 好(基于游标分页)
171
+ SELECT * FROM orders WHERE id > 100000 ORDER BY id LIMIT 20;
172
+ ```
173
+
174
+ 4. **批量操作替代循环**
175
+
176
+ ```sql
177
+ -- 差(N 次单条插入)
178
+ INSERT INTO logs (msg) VALUES ('a');
179
+ INSERT INTO logs (msg) VALUES ('b');
180
+ -- 好(批量插入)
181
+ INSERT INTO logs (msg) VALUES ('a'), ('b'), ...;
182
+ ```
183
+
184
+ 5. **避免函数作用于索引列**
185
+
186
+ ```sql
187
+ -- 差(索引失效)
188
+ SELECT * FROM orders WHERE DATE(created_at) = '2024-01-01';
189
+ -- 好(索引有效)
190
+ SELECT * FROM orders WHERE created_at >= '2024-01-01' AND created_at < '2024-01-02';
191
+ ```
192
+
193
+ 6. **EXISTS 替代 COUNT**
194
+
195
+ ```sql
196
+ -- 差(扫描全部匹配行)
197
+ SELECT CASE WHEN COUNT(*) > 0 THEN true ELSE false END FROM orders WHERE user_id = 123;
198
+ -- 好(找到第一行即返回)
199
+ SELECT EXISTS(SELECT 1 FROM orders WHERE user_id = 123);
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 第四步:缓存策略
205
+
206
+ ### 目标
207
+
208
+ 通过缓存减少数据库查询次数,降低数据库负载。
209
+
210
+ ### 操作步骤
211
+
212
+ 1. **识别缓存候选**
213
+
214
+ | 特征 | 缓存价值 |
215
+ |------|---------|
216
+ | 读多写少 | 高 |
217
+ | 计算成本高 | 高 |
218
+ | 数据变化慢 | 高 |
219
+ | 访问频率高 | 高 |
220
+ | 实时性要求低 | 高 |
221
+
222
+ 2. **缓存层次设计**
223
+
224
+ ```
225
+ L1: 应用内存缓存(本地 LRU)
226
+ - 适合:配置数据、枚举值、小型查找表
227
+ - TTL: 5-30 分钟
228
+ - 库:caffeine (Java) / lru-cache (Node.js) / cachetools (Python)
229
+
230
+ L2: 分布式缓存(Redis)
231
+ - 适合:会话数据、热点查询结果、排行榜
232
+ - TTL: 根据业务场景设定
233
+ - 序列化:JSON 或 MessagePack
234
+
235
+ L3: 数据库查询缓存
236
+ - PostgreSQL: 物化视图(Materialized View)
237
+ - MySQL: 查询缓存(8.0 已移除,不推荐依赖)
238
+ ```
239
+
240
+ 3. **缓存更新策略**
241
+
242
+ | 策略 | 适用场景 | 实现方式 |
243
+ |------|---------|---------|
244
+ | Cache-Aside | 通用场景 | 读时查缓存,miss 则查 DB 并写缓存 |
245
+ | Write-Through | 一致性要求高 | 写 DB 同时写缓存 |
246
+ | Write-Behind | 写入量大 | 先写缓存,异步批量写 DB |
247
+ | Refresh-Ahead | 热点数据 | TTL 到期前异步刷新 |
248
+
249
+ 4. **缓存防护**
250
+
251
+ - [ ] 缓存穿透:布隆过滤器或缓存空值(TTL 短)
252
+ - [ ] 缓存击穿:热点 Key 使用互斥锁(singleflight)
253
+ - [ ] 缓存雪崩:TTL 加随机偏移,避免集中过期
254
+ - [ ] 大 Key 拆分:单个 Value 不超过 1MB
255
+
256
+ ---
257
+
258
+ ## 第五步:表分区
259
+
260
+ ### 目标
261
+
262
+ 当单表数据量超过千万行时,通过分区提升查询和维护效率。
263
+
264
+ ### 操作步骤
265
+
266
+ 1. **评估是否需要分区**
267
+
268
+ - [ ] 单表行数 > 1000 万
269
+ - [ ] 查询普遍包含时间范围过滤
270
+ - [ ] 历史数据需要定期归档
271
+ - [ ] 索引维护(VACUUM / OPTIMIZE)耗时过长
272
+
273
+ 2. **分区策略选择**
274
+
275
+ | 策略 | 适用场景 | 示例 |
276
+ |------|---------|------|
277
+ | 范围分区(Range) | 时间序列数据 | 按月分区 |
278
+ | 列表分区(List) | 有限枚举值 | 按地区/状态分区 |
279
+ | 哈希分区(Hash) | 均匀分布需求 | 按用户 ID 哈希分区 |
280
+
281
+ 3. **PostgreSQL 分区示例**
282
+
283
+ ```sql
284
+ -- 创建分区表
285
+ CREATE TABLE orders (
286
+ id BIGSERIAL,
287
+ created_at TIMESTAMPTZ NOT NULL,
288
+ status TEXT,
289
+ total_amount DECIMAL
290
+ ) PARTITION BY RANGE (created_at);
291
+
292
+ -- 创建月度分区
293
+ CREATE TABLE orders_2024_01 PARTITION OF orders
294
+ FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
295
+
296
+ -- 自动化分区管理(使用 pg_partman)
297
+ SELECT partman.create_parent('public.orders', 'created_at', 'native', 'monthly');
298
+ ```
299
+
300
+ 4. **分区维护**
301
+
302
+ - [ ] 自动创建未来分区(提前 3 个月)
303
+ - [ ] 过期分区归档后 DETACH(不 DROP,保留可恢复性)
304
+ - [ ] 分区键必须包含在所有唯一约束中
305
+ - [ ] 验证查询计划确认分区裁剪生效
306
+
307
+ ---
308
+
309
+ ## 第六步:读写分离
310
+
311
+ ### 目标
312
+
313
+ 将读请求分流到只读副本,降低主库负载。
314
+
315
+ ### 操作步骤
316
+
317
+ 1. **架构设计**
318
+
319
+ ```
320
+ 写请求 → 主库(Primary)
321
+ 读请求 → 只读副本(Replica) × N
322
+
323
+ 连接管理方案:
324
+ - 应用层路由:在代码中区分读写连接
325
+ - 中间件路由:ProxySQL (MySQL) / PgBouncer + 自定义路由
326
+ - 框架支持:Django ReadReplicaRouter / Spring @Transactional(readOnly=true)
327
+ ```
328
+
329
+ 2. **一致性处理**
330
+
331
+ | 场景 | 处理方式 |
332
+ |------|---------|
333
+ | 写后立即读 | 读主库(write-then-read 模式) |
334
+ | 报表查询 | 读副本(延迟可接受) |
335
+ | 关键业务查询 | 读主库 |
336
+ | 一般列表查询 | 读副本 |
337
+
338
+ 3. **副本延迟监控**
339
+
340
+ ```sql
341
+ -- PostgreSQL - 查看副本延迟
342
+ SELECT client_addr, state, sent_lsn, write_lsn, flush_lsn, replay_lsn,
343
+ (sent_lsn - replay_lsn) AS replay_lag
344
+ FROM pg_stat_replication;
345
+
346
+ -- MySQL - 查看副本延迟
347
+ SHOW SLAVE STATUS\G -- 查看 Seconds_Behind_Master
348
+ ```
349
+
350
+ 4. **运维要点**
351
+
352
+ - [ ] 副本延迟 > 10s 触发告警
353
+ - [ ] 副本延迟 > 30s 自动将读请求回退到主库
354
+ - [ ] 副本数量 ≥ 2(高可用)
355
+ - [ ] 副本与主库不在同一可用区(容灾)
356
+ - [ ] 定期验证副本数据一致性
357
+
358
+ ---
359
+
360
+ ## 优化决策流程图
361
+
362
+ ```
363
+ 性能问题
364
+
365
+ ├→ 慢查询分析 → 找到 Top N 慢查询
366
+ │ │
367
+ │ ├→ 缺索引? → 第二步:索引优化
368
+ │ ├→ SQL 低效? → 第三步:查询重写
369
+ │ ├→ 查询频率过高? → 第四步:缓存策略
370
+ │ ├→ 数据量过大? → 第五步:表分区
371
+ │ └→ 读负载过高? → 第六步:读写分离
372
+
373
+ └→ 仍未解决 → 考虑架构升级(分库分表 / NewSQL / 专用存储)
374
+ ```
375
+
376
+ ---
377
+
378
+ ## 优化效果基准参考
379
+
380
+ | 优化手段 | 典型改善幅度 | 实施成本 |
381
+ |---------|------------|---------|
382
+ | 添加合适索引 | 10x-1000x | 低 |
383
+ | 查询重写 | 2x-50x | 低 |
384
+ | 应用层缓存 | 5x-100x | 中 |
385
+ | 表分区 | 2x-10x | 中 |
386
+ | 读写分离 | 2x-5x(读吞吐量) | 高 |
387
+
388
+ ---
389
+
390
+ ## Agent Checklist
391
+
392
+ 以下为 AI Agent 在执行数据库优化时必须遵循的硬约束:
393
+
394
+ - [ ] 优化前使用 EXPLAIN ANALYZE 记录基线执行计划
395
+ - [ ] 不在生产环境直接修改索引,先在 staging 验证
396
+ - [ ] 大表添加索引使用 CONCURRENTLY(PostgreSQL)或在低峰期执行
397
+ - [ ] 缓存方案必须包含失效策略和防护机制
398
+ - [ ] 查询重写后验证结果集与原查询一致
399
+ - [ ] 分区方案需验证分区裁剪在查询计划中生效
400
+ - [ ] 读写分离需确认写后读场景的一致性处理
401
+ - [ ] 每步优化后运行性能测试对比基线
402
+ - [ ] 将优化结果记录到性能优化日志
403
+ - [ ] 生成优化报告包含:问题、方案、基线对比、风险评估
@@ -0,0 +1,132 @@
1
+ ---
2
+ id: elasticsearch-production-playbook
3
+ title: Elasticsearch 生产实战手册
4
+ domain: data
5
+ category: 02-playbooks
6
+ difficulty: advanced
7
+ tags: [elasticsearch, search, mapping, indexing, bulk, query, optimization, production, full-text, analytics, enterprise]
8
+ quality_score: 93
9
+ maintainer: data-team@umadev.com
10
+ last_updated: 2026-06-15
11
+ ---
12
+
13
+ # Elasticsearch 生产实战手册
14
+
15
+ > 基于 [Elastic 官方 Mapping 文档](https://www.elastic.co/docs/manage-data/data-store/mapping) + [Dynamic Mapping](https://www.elastic.co/docs/manage-data/data-store/mapping/dynamic-mapping)
16
+
17
+ ## Mapping 设计(最关键)
18
+
19
+ ### 显式 Mapping(禁止动态推断)
20
+ ```json
21
+ // ❌ 动态 mapping(生产灾难:乱写字段 → mapping 爆炸)
22
+ PUT /products // 不指定 mapping → ES 猜类型 → 字段越来越多
23
+
24
+ // ✅ 显式 mapping + 禁止动态
25
+ PUT /products
26
+ {
27
+ "mappings": {
28
+ "dynamic": "strict", // 未知字段直接拒绝(防止 mapping 爆炸)
29
+ "properties": {
30
+ "name": { "type": "text", "analyzer": "standard" },
31
+ "name_keyword": { "type": "keyword" }, // 文本 + keyword 双字段
32
+ "price": { "type": "scaled_float", "scaling_factor": 100 }, // 分
33
+ "tags": { "type": "keyword" },
34
+ "in_stock": { "type": "boolean" },
35
+ "created_at": { "type": "date" },
36
+ "attrs": { "type": "object", "enabled": false } // 不索引的大对象
37
+ }
38
+ }
39
+ }
40
+ ```
41
+
42
+ ### 字段类型选择
43
+ | 需求 | 类型 | 说明 |
44
+ |------|------|------|
45
+ | 全文搜索 | text | 分词后索引 |
46
+ | 精确匹配/聚合/排序 | keyword | 不分词 |
47
+ | 金额 | scaled_float | 精确(不用 double) |
48
+ | 时间 | date | 支持 range 查询 |
49
+ | 布尔 | boolean | true/false |
50
+ | 不搜索的大对象 | object + enabled:false | 省空间 |
51
+
52
+ ### text + keyword 双字段
53
+ ```json
54
+ // ✅ 同一字段既有全文搜索又有精确匹配
55
+ "name": {
56
+ "type": "text", // 全文搜索用 name
57
+ "fields": {
58
+ "keyword": { "type": "keyword" } // 聚合/排序用 name.keyword
59
+ }
60
+ }
61
+ ```
62
+
63
+ ## 索引策略
64
+
65
+ ### Bulk 批量写入
66
+ ```python
67
+ # ❌ 逐条写入(慢)
68
+ for product in products:
69
+ es.index(index="products", body=product)
70
+
71
+ # ✅ Bulk 批量(快 10-50x)
72
+ from elasticsearch.helpers import bulk
73
+ actions = [
74
+ {"_index": "products", "_id": p["id"], "_source": p}
75
+ for p in products
76
+ ]
77
+ bulk(es, actions, chunk_size=500) # 每 500 条一批
78
+ ```
79
+
80
+ ### 索引别名(零停机重建)
81
+ ```python
82
+ # 用别名而非直接索引名
83
+ es.indices.put_alias(index="products_v1", name="products")
84
+
85
+ # 重建索引时:
86
+ es.indices.create("products_v2") # 新 mapping
87
+ # reindex 数据
88
+ es.reindex({"source": {"index": "products_v1"}, "dest": {"index": "products_v2"}})
89
+ # 切换别名(原子操作,零停机)
90
+ es.indices.update_aliases({"actions": [
91
+ {"remove": {"index": "products_v1", "alias": "products"}},
92
+ {"add": {"index": "products_v2", "alias": "products"}},
93
+ ]})
94
+ es.indices.delete("products_v1") # 删旧索引
95
+ ```
96
+
97
+ ## 查询优化
98
+
99
+ ```json
100
+ // ✅ bool query + filter(filter 不打分,可缓存)
101
+ {
102
+ "query": {
103
+ "bool": {
104
+ "must": [
105
+ { "match": { "name": "wireless headphones" } } // 全文搜索(打分)
106
+ ],
107
+ "filter": [
108
+ { "term": { "tags": "electronics" } }, // 精确过滤(缓存)
109
+ { "range": { "price": { "gte": 50, "lte": 200 } } }
110
+ ]
111
+ }
112
+ },
113
+ "size": 20, // 分页
114
+ "from": 0,
115
+ "sort": [ // 排序用 keyword 字段
116
+ { "_score": "desc" },
117
+ { "created_at": "desc" }
118
+ ]
119
+ }
120
+ ```
121
+
122
+ ## 生产检查清单
123
+ - [ ] 显式 mapping + `dynamic: strict`
124
+ - [ ] text + keyword 双字段(搜索 + 聚合)
125
+ - [ ] 金额用 scaled_float(不用 double)
126
+ - [ ] 大对象用 `enabled: false`
127
+ - [ ] Bulk 批量写入
128
+ - [ ] 索引别名(零停机重建)
129
+ - [ ] filter 替代 query(可缓存)
130
+ - [ ] 分页用 search_after(不用大 from)
131
+ - [ ] 分片数合理(每分片 10-50GB)
132
+ - [ ] 副本至少 1 个(高可用)