Search syntax

There are two search pages. Simple search has a single box that matches card names and rules text together, and it is the one that understands the f: t: s: d: prefixes below. Advanced search splits names and text into separate fields with pickers for the rest — its two text fields are plain literal matches and do not read prefixes at all.

Title and text

Both fields are plain, case-insensitive substring matches against one column. Advanced search's Card Name looks only at the title; Card Text looks only at the rules text.

Known limit: there are no quoted phrases. Whatever you type is taken as one literal substring, spaces included.

Fuzzy matching (opt-in)

Advanced search matches literally by default. The Matching checkbox adds trigram similarity on top, so near-misses and typos are found too.

Worked example: Card Name efficency (misspelt) finds nothing on its own. Tick the box and it finds 3 cards — Bioroid Efficiency Research, Efficiency Committee and Peak Efficiency.

With fuzzy on, loosely-related cards can appear; they rank below solid matches rather than being excluded. Simple search always matches this forgiving way, which is why it can return more results than advanced search for the same word. That difference is deliberate: casual search is forgiving, precise search is literal.

Prefixes

These work in simple search only — the box on the home page, the one on /cards, and the Simple search field at the top of advanced search. A recognised prefix is removed from the text and applied as a filter instead.

They do notapply to advanced search's Card Name and Card Text fields. Those are pure literal substring matches with no prefix parsing, so typing f:anarchinto Card Name looks for cards whose title contains the characters “f:anarch” and finds none. Use that page's Faction, Type, Subtype and Side controls instead — they do the same job without needing the code.

PrefixFiltersExampleMatches
f:Factionf:anarch253 cards
t:Typet:operation218 cards
s:Subtypes:virus41 cards
d:Sided:runner928 cards

Combine them and everything is ANDed: f:anarch s:virus matches 27 cards. Anything left over after the prefixes are removed is searched as ordinary text.

Precedence

Not supported

None of the following do anything special. They are searched as ordinary characters, so they will usually find nothing.

Only the four prefixes in the table above exist. There is deliberately no larger query grammar here.