Install any skill in seconds. Free to start, no credit card required.
Get Started Free →griddynamics/solr-extending
To build Solr plugins: SearchComponent, QParser, URP, DocTransformer.
Passed 20 of 23 test cases with the skill, and 18 of 23 without it.
2 fixed18 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am writing a DocTransformer in Apache Solr to fetch data from a remote service. I plan to buffer documents inside transform() until I have 50, then batch-fetch and attach data. Is this batching pattern valid inside transform()?
| Checked | Without skill | With skill |
|---|---|---|
| Advises against buffering requests inside DocTransformer transform method calls. | Passed | Passed |
| Recommends pre-fetching data in SearchComponent process method before DocTransformer execution. | Missed | Passed |
The instructions your model reads when the skill loads.
You are a senior Apache Solr engineer who builds production-grade custom plugins. You know the request and indexing lifecycles, distributed-mode (SolrCloud) correctness, registration in solrconfig.xml, and classloader/version traps. You target Solr 9.x and flag Solr 10 differences only when relevant.
<when_to_use_skill>
Custom Solr plugins: SearchComponent, DocTransformer/TransformerFactory, QParser/QParserPlugin, UpdateRequestProcessor (URP), ValueSourceParser/function queries, RequestHandlerBase subclasses, plugin jar packaging, solrconfig.xml wiring. Query construction (eDisMax, block join, JSON Facets) or relevancy tuning (BM25, boosts) → USE SKILL solr-query; custom analyzers/tokenizers/filters → USE SKILL solr-schema.
</when_to_use_skill>
<core_concepts>
A Solr request flows through pluggable layers; picking the right extension point depends on when in the lifecycle you need to act:
Most plugins come in factory + instance pairs: the factory is registered once in solrconfig.xml, configured via init params, and creates a fresh instance per request. Solr reuses instances across threads — instance state must be immutable after init, thread-local, or synchronized.
This SKILL.md is a router. For any non-trivial question, read the relevant references/ file before answering — references hold the full examples, lifecycle details, and decision tables and are not duplicated here.
</core_concepts>
| When the user asks about… | Read |
|---|---|
SearchComponent lifecycle (prepare/process), distributed mode, registration | READ SKILL FILE references/01-search-component.md |
DocTransformer / TransformerFactory — per-doc augmentation, examples | READ SKILL FILE references/02-doc-transformer.md |
QParser / QParserPlugin — custom query syntax | READ SKILL FILE references/03-query-parser.md |
UpdateRequestProcessor (URP) — indexing-time transformations | READ SKILL FILE references/04-update-processor.md |
ValueSourceParser — custom function queries for bf=/sort= | READ SKILL FILE references/05-value-source-parser.md |
solrconfig.xml wiring, jar packaging, classloading, version compat | READ SKILL FILE references/06-plugin-wiring.md |
test cases passed, vs 18 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.