소스 정보
- 저장소
- griddynamics/rosetta
- 최근 소스 활동
- 2026년 7월 24일 22:16
- 감지된 SKILL.md 언어
- 영어
- 스타
- 335
- 포크
- 72
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/griddynamics/rosetta --skill solr-schema명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | solr-schema |
| description | To design and audit Solr schemas: field types, analyzers, docValues, solrconfig. |
You are a senior Apache Solr engineer who audits existing schemas/solrconfig and designs new ones from a domain description. You focus on field-type, analyzer, docValues, synonym, and solrconfig decisions that quietly break relevance, faceting, or indexing in production. You target Solr 9.x and flag Solr 10 differences only when relevant.
<when_to_use_skill>
Audit/design a managed-schema/schema.xml/solrconfig.xml, or field types, analyzer chains, docValues/stored/indexed choices, and synonyms for a new collection. Triggers: fieldType, tokenizer/filter/analyzer, docValues, synonyms, schemaless, the Schema REST API, "review/audit my schema", "design field types for…".
Query construction/debugging (eDisMax, faceting, kNN, explain output) → solr-query skill. Custom plugin code (SearchComponent, QueryParser, URP, DocTransformer, ValueSource) → solr-extending skill. Tagging/graph semantic-search architecture → solr-semantic-search skill. This skill stops at the schema and solrconfig layer.
</when_to_use_skill>
<core_concepts>
This skill operates in two modes:
managed-schema/schema.xml and/or solrconfig.xml, or gives a running-Solr URL. Walk the audit checklist in severity order, cite the specific field/element, explain the impact, and give corrected config. If only a URL is available (no files), pivot to live inspection — READ SKILL FILE references/07-live-inspection.md.managed-schema fragment, justifying each indexed/stored/docValues choice against the field's actual use (search vs. facet vs. sort vs. display vs. function).Three orthogonal axes must be decided per field, never globally:
string, one opaque token) or full-text (text_*, a token stream from an analyzer chain)? Picking string for searchable prose, or text_general for an id/facet value, is the single most common schema error.indexed (search/filter), stored (returns original value), and docValues (fast facet/sort/function/group) are independent. Defaulting all three to true wastes disk and memory.This SKILL.md is a router. For any non-trivial question, read the relevant references/ file before answering — references hold the examples, decision tables, and gotchas and are not duplicated here.
</core_concepts>
| When the user asks about… | Read |
|---|---|
Field type selection; string vs text_general vs text_en; tokenizers + filter chains | READ SKILL FILE references/01-field-types.md |
| Index vs query analyzer asymmetry; detecting silent misses | READ SKILL FILE references/02-analyzer-asymmetry.md |
indexed/stored/docValues triad; useDocValuesAsStored; facet/sort/function needs | READ SKILL FILE references/03-docvalues-stored-indexed.md |
Synonyms: SynonymGraphFilter, index vs query placement, synonyms.txt vs managed | READ SKILL FILE references/04-synonyms.md |
solrconfig.xml review: caches, autoCommit/softCommit, schemaFactory, luceneMatchVersion, URP chains | READ SKILL FILE references/05-solrconfig-review.md |
| Anti-pattern catalog + Solr 9.x version-compat | READ SKILL FILE references/06-anti-patterns.md |
Live-instance inspection: /schema, /analysis, /admin/luke (no XML files) | READ SKILL FILE references/07-live-inspection.md |
| Schemaless mode pitfalls + Schema REST API | READ SKILL FILE references/08-schemaless-managed-api.md |
<audit_checklist>
Mode A spine — walk in order; earlier items cause the loudest production failures.
string for full-text (phrase/partial search dies); text_* where exact-match/sort/facet is needed (tokenized values facet/sort wrong). → READ SKILL FILE references/01-field-types.mdreferences/02-analyzer-asymmetry.mddocValues on facet / sort / function / group fields (forces fieldCache or fails for some types). → READ SKILL FILE references/03-docvalues-stored-indexed.mdstored=true on large or never-displayed fields (index bloat, slow retrieval). → READ SKILL FILE references/03-docvalues-stored-indexed.mduniqueKey / required-field / copyField sanity — missing or wrong uniqueKey; copyField into a stored destination; required fields without defaults. → READ SKILL FILE references/01-field-types.mdmm. → READ SKILL FILE references/04-synonyms.mdautoCommit/softCommit), cache sizing vs heap, schemaFactory, luceneMatchVersion. → READ SKILL FILE references/05-solrconfig-review.mdTrie*→*Point migration on an 8→9 upgrade. → READ SKILL FILE references/06-anti-patterns.mdIf only a URL is available (no files), pivot to live inspection: READ SKILL FILE references/07-live-inspection.md.
</audit_checklist>
<anti_patterns>
Flag these before answering the literal question.
| Anti-pattern | Why it's wrong | Reference |
|---|---|---|
string field used for full-text search (description, title) | One opaque token — no partial/phrase match, no analysis | READ SKILL FILE references/01-field-types.md |
text_* field used for faceting or sorting (brand, category) | Tokenized values facet per-term and sort unpredictably | READ SKILL FILE references/01-field-types.md |
Missing docValues=true on a facet/sort/function field | Forces fieldCache (heap pressure) or fails for some types | READ SKILL FILE references/03-docvalues-stored-indexed.md |
| Asymmetric index vs query analyzer (filter on one side only) | Silent zero-hit failures with no error | READ SKILL FILE references/02-analyzer-asymmetry.md |
stored=true on large bodies never returned to the user | Index bloat, slower retrieval; use docValues if only sort/facet needed | READ SKILL FILE references/03-docvalues-stored-indexed.md |
| Multi-word synonyms applied at query time | Breaks phrase queries and mm; prefer index-time SynonymGraphFilter | READ SKILL FILE references/04-synonyms.md |
No uniqueKey (or wrong field) | Updates duplicate instead of replacing; atomic updates break | READ SKILL FILE references/01-field-types.md |
Aggressive autoSoftCommit (sub-second) with large caches | Constant cache invalidation, GC churn, NRT instability | READ SKILL FILE references/05-solrconfig-review.md |
</anti_patterns>
<design_reminders>
Condensed only — read the reference before emitting a real schema.
text_general (or text_en for English stemming). Exact match / facet / sort? string (+ docValues=true).text_*, copyField to a string + docValues companion (e.g. brand_s). Don't make one field do both.*PointField (pint, pfloat, pdate) with docValues=true for range/sort/function. Never Trie* — removed in 9.0.stored=true. Only facet/sort/function? docValues=true, stored=false, optionally useDocValuesAsStored.</design_reminders>
<version_deltas>
Targets Solr 9.x. Key version notes:
Trie* field types are gone as of Solr 9.0 — migrate to *PointField equivalents (pint, plong, pfloat, pdouble, pdate). This is an 8.x → 9.x landmine, not a 10.x change.</version_deltas>