opensearch-schema-reviewlisted
Install: claude install-skill ch4570/vulpora
# OpenSearch Schema/Mapping Review (Schema Review)
The grounding principles are in `reference/principles.md`. For facts, prefer `reference/kb/` (the official docs).
## Review order (proceed in this order)
1. **What index does this index?** — Identify the domain, language (Korean?), time-series nature, and scale (N).
2. **Mapping in general** — Check the review hooks in `reference/kb/field-types.md` · `reference/kb/dynamic-mapping-risks.md`.
3. **Analyzers** — Check `reference/kb/analyzers-tokenizers.md` (search vs index analyzer, normalizer, nori). **If the nori grep returns 0 hits, state "not applicable"**.
4. **Vector fields** — Check `reference/kb/knn-vector-field.md` (dimension/space_type/engine/mode consistency, immutability).
5. **Templates** — `reference/kb/index-templates.md`. Along with the severity, provide a fix (mapping JSON diff) + a zero-downtime reindex/alias strategy.
## Quick checklist
- [ ] Is `dynamic` set to `strict`/`false` on production indexes (to prevent mapping explosion)?
- [ ] Is sorting/aggregation/exact on `keyword` and full-text search on `text`? Are unused fields `index:false`/`doc_values:false`?
- [ ] Does the `knn_vector` `dimension` match the model output, and is the `space_type` consistent with normalization?
- [ ] Is the `engine` faiss/lucene (**migrate if nmslib**)? Are the core fields explicit in the mapping (to prevent dynamic inference)?
- [ ] Are large vectors duplicated in `_source` → derived source (beware that nested/copy_to are