SleevedSleeved Docs

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

OperatorSyntaxExampleDescription
Facet filterfield:valuecolor:redMatch cards where the field contains the value
Exact matchfield=valuename=AgumonMatch the exact string, no partial matching
Greater thanfield>Nlevel>4Numeric — greater than N
Less thanfield<Ndp<5000Numeric — less than N
Greater or equalfield>=Ncost>=3Numeric — greater than or equal to N
Less or equalfield<=Npower<=10Numeric — less than or equal to N
Rangefield:N..Mlevel:4..7Numeric — between N and M inclusive
Negate field-field:value-color:greenExclude cards matching the field:value
Negate group-(...)-(t:ally OR t:champion)Exclude cards matching any expression in the group
DisjunctionA OR Bc:Fire OR c:WindMatch either A or B (case-insensitive OR keyword)
Text searchname:textname:agumonRoute to full-text search rather than a facet
Regex/pattern//draw \d+ cards/Regular expression matched against full-text search
ThousandsNk / NKdp>5kShorthand for × 1000 in numeric contexts
Pipe-ORfield:a|brealm:Artifice|CastraOR 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,blue

Numeric 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<=10

The k/K suffix expands to × 1000 in all numeric contexts:

dp>5k        → dp > 5000
power<=10k   → power <= 10000

field: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..4

Half-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 red

A 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:Digimon

When 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:blastmon

All 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 in filterBy. Equivalent to realm:Artifice OR realm:Castra using the OR keyword.
  • 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|5 becomes level == 3 || level == 5 in 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)FieldDescription
c, colcolorCard color
t, typecardTypeCard type (Digimon, Tamer, Option, etc.)
kw, keywordkeywordBasesKeyword effects
setsetNameSet name
lv, levellevelDigimon level
playcost, pcplayCostPlay cost in memory
dpdpDP (Digimon Power)
r, rarityrarityCard rarity
f, formformDigimon form (Rookie, Champion, etc.)
attr, attributeattributeDigimon attribute (Vaccine, Virus, Data, Free)
traittraitsDigimon trait (e.g., "Holy Dragon", "Dark Dragon")
dvocostdigivolveCondition.costDigivolve cost
dvocolor, dvocdigivolveCondition.colorDigivolve condition color
dvolevel, dvolvdigivolveCondition.levelDigivolve condition level
inherited, inheritedEffect, inherEff, essinheritedEffectEvolution Source Skill (inherited effect)
security, securityEffect, secEffsecurityEffectSecurity effect
ekweffectKeywordBasesKeywords found in effect text
timingtimingsCard timings
artist, illustratorillustratorCard illustrator
linkhasLinkHas a Link effect
althasAltArtHas alternate art
spoilerisSpoilerUnreleased/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:5

Grand Archive

Alias(es)FieldDescription
e, element_searchElementsElement (color) — type the element name: e:Fire, element:Wind
t, type_searchCardTypesCard type — uses smart routing (see below)
cls, class_searchClassesCharacter class
sub, subtype, subclass_searchSubtypesCard subtype
kw, keyword_searchKeywordBasesKeyword abilities
setsetNameSet name
ed, editioneditionsEdition
r, rarityrarityCard rarity
memorycost, memcost, costmemorycostMemoryMemory cost (material zone cost)
reservecost, rescost, costreservecostReserveReserve cost (main deck cost)
pow, powerpowerPower stat
dur, durabilitydurabilityDurability stat
lifelifeLife total
lv, levellevelChampion level
artist, illustratorillustratorCard illustrator
flavor, ft, flavorTextflavorTextFlavor text
ekweffectKeywordBasesKeywords in effect text
epaeffectPlayerActionsPlayer actions in effect
epropeffectPropertiesEffect properties
timing, etimingeffectTimingsEffect timing
althasAltArtHas alternate art
draftisDraftExclusiveDraft-exclusive card
pantheonisPantheonExclusivePantheon-exclusive card

is: / has: shortcuts:

ShorthandExpands to
is:material_searchCardTypes contains Champion or Regalia
is:permanent_searchCardTypes contains Ally, Champion, Item, Weapon, Token, Status, Regalia, Phantasia, or Mastery
is:bannedisBannedInOP is true
has:altArthasAltArt 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)FieldDescription
c, colorcolorCard color
t, typecardTypesCard type
kw, keywordkeywordBasesKeyword abilities
setsetNameSet name
lv, levellevelUnit level
costcostCost
r, rarityrarityCard rarity
apapAttack Points
hphpHit Points
zonezoneZone restriction
traittraitsUnit trait
modelmodelCodeModel code (e.g., "RX-78-2")
series, srcsourceTitleSource series title
linklinksLink ability
ekweffectKeywordBasesKeywords in effect text
timingtimingsEffect timing
tc, condtimingConditionsTiming conditions
althasAltArtHas alternate art
spoilerisSpoilerUnreleased/spoiler card
restrictedisRestrictedRestricted in tournament play

is: / has: shortcuts:

ShorthandExpands to
is:restrictedisRestricted is true
is:bannedisRestricted is true (Gundam combines ban and restriction into a single boolean)
has:altArthasAltArt 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>=4

Chrono Core

Alias(es)FieldDescription
realmcolorRealm — realm:Artifice, realm:Nekris, etc.
t, typecardTypeCard type
kw, keywordkeywordBasesKeyword abilities
setsetIdSet identifier
costcostResource cost
mkmkValueMK value
r, rarityrarityCard rarity
atk, attackattackValueAttack value
chg, chargemaximumCoreChargeBonusMax charge bonus
sub, subtypesubTypeSubtype
chassischassisTypeChassis type
equip, equipmentequipmentTypeEquipment type
weaponweaponTypeWeapon type
handhandednessHandedness
timingtimingsEffect timing
artist, illustratorillustratorCard illustrator

has: shortcuts:

ShorthandExpands to
has:altArthasAltArt 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:Pilot

Special 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:

FlagExpands to
is:material_searchCardTypes contains Champion or Regalia
is:permanent_searchCardTypes contains Ally, Champion, Item, Weapon, Token, Status, Regalia, Phantasia, or Mastery
is:bannedisBannedInOP is true

Usage:

is:material e:Fire
is:permanent lv:3
-(is:material) cls:Human
is:banned e:Wind

is: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:

AliasRoutes 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: and flavorText: 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:blastmon

The 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:Wind

Parentheses 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-red

De 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..10k

The 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 <= 8000

The 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:

InputBehavior
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 boundsDegrades to text search
Bare OR at start or endOR treated as text
Two consecutive OR keywordsBoth treated as text
-agumon (bare negated word)Preserved as the text token -agumon
Unknown is:flagDegrades 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 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:red

The 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:gabumon

This 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.