Help us improve
Share bugs, ideas, or general feedback.
From ra-mcp-tools
Guides Riksarkivet searches with search_transcribed and search_metadata tools, including Solr syntax, fuzzy matching for OCR/HTR errors, wildcards, Boolean operators, and pagination strategies.
npx claudepluginhub ai-riksarkivet/ra-mcp --plugin ra-mcp-toolsHow this skill is triggered — by the user, by Claude, or both
Slash command
/ra-mcp-tools:archive-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Search strategy, syntax, and best practices for the Riksarkivet search tools
Searches the official Joseon Dynasty Annals (sillok.history.go.kr) by keyword, with optional king and year filters. Returns article titles, summaries, links, and excerpts from the original site.
Ranks museums, archives, libraries, and film institutes most likely to hold historical material for a story or documentary, with licensing notes.
Researches historical events using primary sources, archives, news coverage, and government records. Returns documented findings with citations and flags items needing human verification.
Share bugs, ideas, or general feedback.
Search strategy, syntax, and best practices for the Riksarkivet search tools
(search_transcribed and search_metadata).
| Research goal | Tool | Key params |
|---|---|---|
| Find text mentions in court records | search_transcribed | keyword (Solr syntax) |
| Find a person by name | search_metadata | name="Svensson" |
| Find documents from a place | search_metadata | place="Norrköping" |
| Find documents by title/type | search_metadata | keyword="bouppteckning" |
| Church records, estate inventories | search_metadata | keyword + place (not AI-transcribed) |
| Read full page content | browse_document | reference_code, pages |
All searchable text is AI-generated using HTR (Handwritten Text Recognition) and OCR models. These transcriptions contain recognition errors: misread characters, merged or split words, and garbled passages — especially in older, damaged, or poorly legible documents.
Always use fuzzy search (~) by default to compensate for transcription errors:
stockholm~1 finds "Stockholm", "Stockholn", "Stookholm" (common HTR misreads)trolldom~1 finds "trolldom", "trolldoin", "trolldorn"präst~1 finds "präst", "prast", "prest"Without fuzzy search, you will miss many relevant results because the transcription of the exact word you're looking for may contain errors.
Rule of thumb: Use ~1 (edit distance 1) for short words, ~2 for longer words or
very old/damaged documents. Combine with wildcards for maximum coverage:
(troll*~1 OR häx*~1).
search_transcribed(keyword, offset=0) for initial hitssearch_metadata to find documents by title, person, or placebrowse_document to examine interesting matches in full((skatt* OR guld*) AND (stöld* OR stul*)) — omitting outer parens returns 0 results((stöld~2 OR tjufnad~2) AND (silver* OR guld*)) catches misreads and misspellings(((präst* OR prest*) OR (kyrko* OR kyrck*)) AND ((silver* OR silfv*) OR (guld* OR gull*)))| Syntax | Example | Meaning |
|---|---|---|
| Exact term | Stockholm | Find exact word |
| Wildcard | Stock*, St?ckholm, *holm | Match patterns (* = many chars, ? = one) |
| Fuzzy | Stockholm~ or Stockholm~1 | Similar words (edit distance) |
| Proximity | "Stockholm trolldom"~10 | Two terms within N words |
| Boolean AND | (Stockholm AND trolldom) | Both terms required |
| Boolean OR | (Stockholm OR Göteborg) | Either term |
| Boolean NOT | (Stockholm NOT trolldom) | Exclude term |
| Boosting | Stockholm^4 trol* | Increase relevance weight |
| Complex | ((troll* OR häx*) AND (Stockholm OR Göteborg)) | Combine operators |
Common spelling pairs to search for — always try both modern and archaic forms:
| Modern | Archaic / Variant | Context |
|---|---|---|
| präst | prest | Priest |
| silver | silfver, silfv | Silver |
| guld | gull | Gold |
| kyrka | kyrcka, kyrck | Church |
| kvinna | qvinna, qwinna | Woman |
| stöld | stöld, tiufnad, tjufnad | Theft |
| häxa | häxa, hexa | Witch |
| trolldom | trolldom, trulldom | Witchcraft |
| djävul | djäfvul, diefvul | Devil |
| ä | æ, e | Vowel variant |
| ö | ø, o | Vowel variant |
| v | f, fv, w | Consonant variant |
| k | ck, c | Consonant variant |
Proximity search finds two terms within a specified word distance of each other.
"term1 term2"~N (correct) vs term1 term2~N (wrong)"kyrka stöld"~10 (correct) vs "kyrka silver stöld"~10 (unreliable)~3 = tight, ~10 = paragraph-level, ~50 = page-levelCrime & Punishment:
"tredje stöld"~5 # Third-time theft
"dömd hänga"~10 # Sentenced to hang
"inbrott natt*"~5 # Burglary at night
"kyrka stöld"~10 # Church theft
Values & Items:
"hundra daler"~3 # Hundred dalers
"stor* stöld*"~5 # Major theft
"guld* ring*"~10 # Gold ring
"silver* kalk*"~10 # Silver chalice
Complex Combinations (Boolean outside quotes):
("kyrka stöld"~10 OR "kyrka tjuv*"~10) AND 17*
("inbrott natt*"~5) AND (guld* OR silver*)
("första resan" AND stöld*) OR ("tredje stöld"~5)
If proximity search returns no results:
"..."~10 instead of ~3| Pattern | Example | Reliability |
|---|---|---|
| Exact + Exact | "hundra daler"~3 | Most reliable |
| Exact + Wildcard | "inbrott natt*"~5 | Reliable |
| Wildcard + Wildcard | "stor* stöld*"~5 | Sometimes works |
Build from simple to complex, verifying results at each step:
Step 1: "kyrka stöld"~10
Step 2: ("kyrka stöld"~10 OR "kyrka tjuv*"~10)
Step 3: (("kyrka stöld"~10 OR "kyrka tjuv*"~10) AND 17*)
Step 4: (("kyrka stöld"~10 OR "kyrka tjuv*"~10) AND 17*) AND (guld* OR silver*)
troll* finds "trolldom", "trolleri", "trollkona"Stockholm~1 catches HTR/OCR misreadsyear_min/year_max to narrow time periodssort="timeAsc" for earliest mentions, sort="timeDesc" for most recentname and place parameters in search_metadata
for targeted person/place searches instead of putting everything in keyword