Query Syntax Reference
Complete reference for Sleeved's search query syntax — operators, field aliases per game, smart routing, flag expansion, ranges, regex, and graceful degradation.
The search bar on every Sleeved game page accepts a structured query language modelled on Scryfall. You can combine facet filters, numeric comparisons, boolean logic, and text search in a single expression — no need to juggle the sidebar and the text box separately.
This page documents every operator, every field alias for each game, and the edge cases worth knowing before you build a complex query.
Syntax at a Glance
| Operator | Syntax | Example | Description |
|---|---|---|---|
| Facet filter | field:value | color:red | Match cards where the field contains the value |
| Exact match | field=value | name=Agumon | Match the exact string, no partial matching |
| Greater than | field>N | level>4 | Numeric — greater than N |
| Less than | field<N | dp<5000 | Numeric — less than N |
| Greater or equal | field>=N | cost>=3 | Numeric — greater than or equal to N |
| Less or equal | field<=N | power<=10 | Numeric — less than or equal to N |
| Range | field:N..M | level:4..7 | Numeric — between N and M inclusive |
| Negate field | -field:value | -color:green | Exclude cards matching the field:value |
| Negate group | -(...) | -(t:ally OR t:champion) | Exclude cards matching any expression in the group |
| Disjunction | A OR B | c:Fire OR c:Wind | Match either A or B (case-insensitive OR keyword) |
| Text search | name:text | name:agumon | Route to full-text search rather than a facet |
| Regex | /pattern/ | /draw \d+ cards/ | Regular expression matched against full-text search |
| Thousands | Nk / NK | dp>5k | Shorthand for × 1000 in numeric contexts |
| Pipe-OR | field:a|b | realm:Artifice|Castra | OR within a field — type-aware routing (filter-OR or union search) |
All terms in a query are combined with implicit AND: color:red level>4 matches red cards AND level above 4.
Operators
field:value — Facet filter
Filters to cards where the field contains the given value. The value may be a single word or a quoted phrase:
color:red
cardType:Digimon
trait:"Holy Dragon"Multiple values can be comma-separated to match any of them (OR within the field):
color:red,blueNumeric fields: On numeric fields (level, cost, dp, mkValue, ap, power, and similar), both field:N and field=N compile to a range-equality filter under the hood — they "just work" without any special syntax. Range queries (level:1..5, level>=3) continue to work as before. Pipe-OR composes naturally on numeric fields too: level:3|5 finds cards with level 3 OR level 5.
field=value — Exact match
Uses = instead of :. The entire right-hand side is treated as a literal string — no partial matching, no comma-splitting:
name=Agumon
name=Agumon (2021)The parentheses in Agumon (2021) are part of the value, not a grouping expression.
field>N, field<N, field>=N, field<=N — Numeric comparison
Filters on numeric attributes. Use with level, cost, power, and similar stat fields:
level>4
dp<5000
cost>=3
power<=10The k/K suffix expands to × 1000 in all numeric contexts:
dp>5k → dp > 5000
power<=10k → power <= 10000field:N..M — Range
Shorthand for field>=N AND field<=M. Both bounds are inclusive:
level:4..7
dp:3k..8k → dp >= 3000 AND dp <= 8000
cost:2..4Half-open ranges (level:4.. or level:..7) are not supported — they degrade to plain text search.
-field:value — Negate
Excludes cards matching the field:value pair:
-color:green
-trait:"Holy Dragon"
-r:Common-(...) — Negate group
Applies De Morgan's law to the expression inside the parentheses:
-(color:red OR color:blue) → excludes red AND excludes blue
-(level>4 color:red) → level<=4 OR not redA negated AND group (-(A B)) becomes (-A OR -B).
A negated OR group (-(A OR B)) becomes (-A AND -B).
A OR B — Disjunction
The OR keyword is case-insensitive. It separates two terms or groups and matches cards satisfying either:
c:Fire OR c:Wind
(t:ally OR t:champion) c:Fire
color:red OR type:DigimonWhen both sides of OR target the same field, the result is a single multi-value filter (color:red,blue equivalent). When they target different fields, the result routes both to the filter layer using ||.
Text and regex clauses inside OR groups go to full-text search; filterable clauses apply conjunctively to the filter layer. See Limitations for details.
Bare OR at the start or end of input, or two consecutive OR keywords, degrades to plain text search.
name:text, effect:text, n:text — Text field aliases
These pseudo-fields route to full-text search rather than a facet filter. Use them when you want to search within card text explicitly:
name:agumon
effect:"when this card attacks"
n:blastmonAll four games support name:, eff:, effect:, and n:. Some games add additional aliases such as illustrator: or flavorText:. See Text Field Aliases below.
/pattern/ — Regex
A forward-slash-delimited regular expression. Routes to full-text search — regex cannot be applied to facet filters:
/draw \d+ cards/
/[Ss]ecurity/Unmatched / (only one delimiter) degrades to plain text search.
field:a|b — Pipe-OR
A | in a field value position means OR — it matches cards where the field equals either value. Both : and = operator forms are supported:
realm:Artifice|Castra → realm is Artifice OR Castra
realm:Artifice|Castra|Nekris → realm is Artifice OR Castra OR Nekris
level:3|5 → level is 3 OR 5
level=3|5 → same — both forms work on numeric fields
name:agumon|gabumon → name matches "agumon" OR "gabumon"Routing is type-aware. The query compiler inspects the field type and routes accordingly:
- Filterable facet field (e.g.
realm:,t:,rarity:,level:,cost:) — compiles to a filter-OR infilterBy. Equivalent torealm:Artifice OR realm:Castrausing theORkeyword. - Text-alias field (e.g.
name:,eff:,effect:,n:) — routes to union search: each value becomes a separate search branch and results are merged. This is true OR — cards matching either term are returned. - Numeric field — compiles to an OR of range-equality filters:
level:3|5becomeslevel == 3 || level == 5in the filter layer.
Quoted values are literal. A | inside quotes is not a separator — it's part of the value:
realm:"Artifice|Castra" → realm is literally "Artifice|Castra" (single value)
name="basilisk|pegasus" → exact match for the string "basilisk|pegasus"Bare text is unaffected. Without a field prefix, | has no special meaning:
hello|world → literal text search for "hello|world"Pipe-OR requires a field operator (field: or field=) to activate. A bare | in text is passed through unchanged.
Field Aliases
Each game defines a set of short aliases for its Typesense field names. Type the alias instead of the full field name — c:red instead of color:red.
Aliases are case-insensitive on the left side of the operator: Color:red, color:red, and COLOR:red all work.
Digimon
| Alias(es) | Field | Description |
|---|---|---|
c, col | color | Card color |
t, type | cardType | Card type (Digimon, Tamer, Option, etc.) |
kw, keyword | keywordBases | Keyword effects |
set | setName | Set name |
lv, level | level | Digimon level |
playcost, pc | playCost | Play cost in memory |
dp | dp | DP (Digimon Power) |
r, rarity | rarity | Card rarity |
f, form | form | Digimon form (Rookie, Champion, etc.) |
attr, attribute | attribute | Digimon attribute (Vaccine, Virus, Data, Free) |
trait | traits | Digimon trait (e.g., "Holy Dragon", "Dark Dragon") |
dvocost | digivolveCondition.cost | Digivolve cost |
dvocolor, dvoc | digivolveCondition.color | Digivolve condition color |
dvolevel, dvolv | digivolveCondition.level | Digivolve condition level |
inherited, inheritedEffect, inherEff, ess | inheritedEffect | Evolution Source Skill (inherited effect) |
security, securityEffect, secEff | securityEffect | Security effect |
ekw | effectKeywordBases | Keywords found in effect text |
timing | timings | Card timings |
artist, illustrator | illustrator | Card illustrator |
link | hasLink | Has a Link effect |
alt | hasAltArt | Has alternate art |
spoiler | isSpoiler | Unreleased/spoiler card |
Text field aliases: name:, eff:, effect:, n: — all route to full-text search. illustrator: also routes to full-text search.
Example queries:
c:Red lv>4
dp:5k..10k form:Champion
trait:"Holy Dragon"
name:agumon OR name:gabumon
dvocost:3 lv:5Grand Archive
| Alias(es) | Field | Description |
|---|---|---|
e, element | _searchElements | Element (color) — type the element name: e:Fire, element:Wind |
t, type | _searchCardTypes | Card type — uses smart routing (see below) |
cls, class | _searchClasses | Character class |
sub, subtype, subclass | _searchSubtypes | Card subtype |
kw, keyword | _searchKeywordBases | Keyword abilities |
set | setName | Set name |
ed, edition | editions | Edition |
r, rarity | rarity | Card rarity |
memorycost, memcost, costmemory | costMemory | Memory cost (material zone cost) |
reservecost, rescost, costreserve | costReserve | Reserve cost (main deck cost) |
pow, power | power | Power stat |
dur, durability | durability | Durability stat |
life | life | Life total |
lv, level | level | Champion level |
artist, illustrator | illustrator | Card illustrator |
flavor, ft, flavorText | flavorText | Flavor text |
ekw | effectKeywordBases | Keywords in effect text |
epa | effectPlayerActions | Player actions in effect |
eprop | effectProperties | Effect properties |
timing, etiming | effectTimings | Effect timing |
alt | hasAltArt | Has alternate art |
draft | isDraftExclusive | Draft-exclusive card |
pantheon | isPantheonExclusive | Pantheon-exclusive card |
is: / has: shortcuts:
| Shorthand | Expands to |
|---|---|
is:material | _searchCardTypes contains Champion or Regalia |
is:permanent | _searchCardTypes contains Ally, Champion, Item, Weapon, Token, Status, Regalia, Phantasia, or Mastery |
is:banned | isBannedInOP is true |
has:altArt | hasAltArt is true |
Text field aliases: name:, eff:, effect:, n: — all route to full-text search. illustrator: and flavorText: also route to full-text search.
Example queries:
e:Fire t:Ally
memorycost:3 e:Fire
is:material
is:permanent e:Wind
name:"Lorraine, Wandering Warrior"Important: Grand Archive uses e and element for element queries. The element name is always typed directly: e:Fire, not any 2-character shorthand. Grand Archive has two separate cost fields: memorycost for the material-zone cost and reservecost for the main-deck cost.
Gundam
| Alias(es) | Field | Description |
|---|---|---|
c, color | color | Card color |
t, type | cardTypes | Card type |
kw, keyword | keywordBases | Keyword abilities |
set | setName | Set name |
lv, level | level | Unit level |
cost | cost | Cost |
r, rarity | rarity | Card rarity |
ap | ap | Attack Points |
hp | hp | Hit Points |
zone | zone | Zone restriction |
trait | traits | Unit trait |
model | modelCode | Model code (e.g., "RX-78-2") |
series, src | sourceTitle | Source series title |
link | links | Link ability |
ekw | effectKeywordBases | Keywords in effect text |
timing | timings | Effect timing |
tc, cond | timingConditions | Timing conditions |
alt | hasAltArt | Has alternate art |
spoiler | isSpoiler | Unreleased/spoiler card |
restricted | isRestricted | Restricted in tournament play |
is: / has: shortcuts:
| Shorthand | Expands to |
|---|---|
is:restricted | isRestricted is true |
is:banned | isRestricted is true (Gundam combines ban and restriction into a single boolean) |
has:altArt | hasAltArt is true |
Text field aliases: name:, eff:, effect:, n: — all route to full-text search.
Example queries:
c:Red ap>4
lv:5 c:Blue
set:"Heroic Beginnings [ST01]"
model:RX-78-2 hp>=4Chrono Core
| Alias(es) | Field | Description |
|---|---|---|
realm | color | Realm — realm:Artifice, realm:Nekris, etc. |
t, type | cardType | Card type |
kw, keyword | keywordBases | Keyword abilities |
set | setId | Set identifier |
cost | cost | Resource cost |
mk | mkValue | MK value |
r, rarity | rarity | Card rarity |
atk, attack | attackValue | Attack value |
chg, charge | maximumCoreChargeBonus | Max charge bonus |
sub, subtype | subType | Subtype |
chassis | chassisType | Chassis type |
equip, equipment | equipmentType | Equipment type |
weapon | weaponType | Weapon type |
hand | handedness | Handedness |
timing | timings | Effect timing |
artist, illustrator | illustrator | Card illustrator |
has: shortcuts:
| Shorthand | Expands to |
|---|---|
has:altArt | hasAltArt is true |
Text field aliases: name:, eff:, effect:, n: — all route to full-text search. illustrator: also routes to full-text search.
Example queries:
realm:Artifice atk>3
sub:Wildcard mk:2
chg>=2 -t:Equipment
equip:Visor mk:1
name:"Dotar Sojak" t:PilotSpecial Features
Grand Archive Smart Routing
The t: / type: alias in Grand Archive is smarter than a plain field alias. The routing check is fully case-insensitive: t:ally, t:Ally, and t:ALLY all behave identically. When the value matches a known card type, the query filters _searchCardTypes. When it does not match any known card type, the query automatically falls back to _searchSubtypes:
t:ally → filters _searchCardTypes (Ally is a known card type)
t:Ally → filters _searchCardTypes (same — case does not matter)
t:human → filters _searchSubtypes (Human is a subtype, not a card type)
t:Beast → filters _searchSubtypes (Beast is a subtype)This means a single t: alias works for both "what type is this card" and "what subtype does this card have" without needing to know which field to use.
Grand Archive Flag Expansion
The is: prefix expands semantic shorthands into multi-value type filters. Grand Archive supports the following flags:
| Flag | Expands to |
|---|---|
is:material | _searchCardTypes contains Champion or Regalia |
is:permanent | _searchCardTypes contains Ally, Champion, Item, Weapon, Token, Status, Regalia, Phantasia, or Mastery |
is:banned | isBannedInOP is true |
Usage:
is:material e:Fire
is:permanent lv:3
-(is:material) cls:Human
is:banned e:Windis:material and is:permanent are only available in Grand Archive. is:banned is also available in Gundam (where it maps to isRestricted). Typing an unsupported is: flag in any game degrades to a text search.
Text Field Aliases
All four games support name:, eff:, effect:, and n: as pseudo-fields that route to full-text search rather than a facet filter:
| Alias | Routes to |
|---|---|
name:, n: | Full-text search (card name) |
eff:, effect: | Full-text search (effect text) |
Some games add extra text-field aliases beyond the shared set:
- Digimon: also accepts
illustrator:as a text-field alias - Grand Archive: also accepts
illustrator:andflavorText:as text-field aliases - Chrono Core: also accepts
illustrator:as a text-field alias
Examples:
name:agumon → full-text search for "agumon"
effect:"when this card attacks"
n:blastmon → short form of name:blastmonThe distinction from a bare keyword search: name:agumon explicitly signals a name search. A bare agumon also goes to full-text search, but the explicit alias can be combined with filters more clearly: name:agumon level:4.
Combining Queries
Implicit AND
Terms separated by spaces are ANDed — all must match:
color:red level>4 trait:"Holy Dragon"OR
Use the OR keyword (case-insensitive) between two terms or groups:
color:red OR color:blue
(t:ally OR t:champion) c:Fire
c:Fire OR c:WindParentheses control grouping. (t:ally OR t:champion) c:Fire means: (ally or champion) AND element is Fire.
Grouping
Wrap any subexpression in parentheses to control evaluation order:
(color:red OR color:blue) level>4
-(t:ally OR t:champion)Negation
Prefix a term or group with - to exclude:
-color:green → exclude green cards
-trait:"Holy Dragon" → exclude Holy Dragon trait
-(color:red OR color:blue) → exclude red AND exclude blue
-(level>4 color:red) → level<=4 OR not-redDe Morgan's law is applied automatically to negated groups:
-(A OR B)→(-A AND -B)— excludes both A and B-(A AND B)→(-A OR -B)— excludes A or excludes B (at least one must be absent)
Range and Numeric Shorthand
Ranges use the .. separator between two numeric bounds:
level:4..7 → level >= 4 AND level <= 7
dp:3k..8k → dp >= 3000 AND dp <= 8000
cost:2..4
power:5k..10kThe k/K suffix multiplies by 1000 and works anywhere a number appears in a numeric context:
dp>5k → dp > 5000
dp>=3k → dp >= 3000
dp:3k..8k → dp >= 3000 AND dp <= 8000The k expansion only triggers in numeric contexts — it does not expand inside facet values. set:BT10k keeps the value BT10k unchanged.
Half-open ranges are not supported:
level:4.. → degrades to text search (no upper bound)
level:..7 → degrades to text search (no lower bound)Regex
Wrap a regular expression in forward slashes:
/draw \d+ cards/
/[Ss]ecurity/
/evolve.*level/Regex always routes to full-text search — it is not applied to facet filters. This means regex matches against card name and effect text, not against structured fields like color or type.
Unmatched delimiters (a single / with no closing /) degrade to plain text search.
Graceful Degradation
Malformed input never produces an error or blocks your search. The parser degrades problem tokens to plain text search:
| Input | Behavior |
|---|---|
Unmatched ( | The rest of the input is treated as a single AND group |
Unmatched ) | Treated as a literal text character |
Unmatched / (no closing delimiter) | Treated as text |
Half-open range level:4.. | Degrades to text search |
| Range with non-numeric bounds | Degrades to text search |
Bare OR at start or end | OR treated as text |
Two consecutive OR keywords | Both treated as text |
-agumon (bare negated word) | Preserved as the text token -agumon |
Unknown is:flag | Degrades to text search |
hello|world (no field prefix) | Pipe has no effect — treated as a literal text search for hello|world |
mk:1..3|5 (range + pipe) | Unsupported combination — degrades to a literal text leaf `Leaf(text, "mk:1..3 |
The -agumon row is worth understanding: bare -word is passed through to full-text search as-is, and Typesense natively excludes documents matching a --prefixed word from full-text results. So -agumon does exclude cards matching "agumon" from the text-search layer — this works end-to-end. The distinction from -field:value: bare -word exclusion operates at the text-matching level (full-text search), while -field:value exclusion operates at the filter level (structured facet). Use -field:value when you need to exclude by a specific structured attribute like color or type.
Limitations
Sidebar filters and syntax bar interact additively
Sidebar facet selections (checkboxes, sliders) and syntax bar expressions are merged with AND. A sidebar selection for color:red combined with a syntax query level>4 produces color:red AND level>4. There is no way to express a sidebar-vs-syntax OR — if you need OR logic across sidebar-controlled fields, use the syntax bar exclusively for that dimension and clear the sidebar filter.
Text and filters inside OR groups
When an OR group mixes text/regex with filter clauses, the text goes to full-text search and the filters go to the filter layer — they are not combined into a single OR expression. For example:
name:agumon OR color:redThe name:agumon part routes to full-text search. The color:red part routes to the filter layer. The result is cards matching "agumon" in full-text and cards matching color:red — not cards matching either independently. This is a known limitation of the underlying architecture: full-text search and filter expressions cannot be ORed together at the search engine level.
If you need "cards named Agumon or red cards", use two separate searches, or restructure the query to use only filter-layer clauses.
When every branch of an OR is a text-field alias (name:, eff:, effect:, n:), the query routes to union search — each branch becomes a separate search and results are merged. For example:
name:agumon OR name:gabumonThis returns cards matching "agumon" OR cards matching "gabumon" — true disjunction. The same applies when using pipe-OR on a text-alias field: name:agumon|gabumon routes to union search and returns cards matching either name.
Bare word exclusion is text-level only
-agumon excludes cards matching "agumon" in full-text search. It does not express a structured filter exclusion — for that, use -field:value (e.g., -color:green, -trait:"Holy Dragon"). Bare word exclusion also does not combine with OR in a useful way: inside an OR group, text terms still route to full-text search space-joined, so the conjunctive-text limitation documented above applies.