Tags
is simply a type alias for Map<String, Tag>
, but it is given its own documentation here to emphasise its role in the search system. Each Searchable
stores a Tags
object containing any number of tag values keyed by name. The search engine uses tags both as filters (via the #tag
syntax) and as keywords (by appending their string values to the item’s description for matching).
isTag == true
and its value == true
, then the tag name can be matched with #name
in a query. Matching is case‑sensitive.isTag == false
, its string value is appended to the searchable’s full text. This allows queries like #color red
to match an item whose tag color
has the value red
.searchString
defined, that string is used instead of value.toString()
when constructing the full text.Tags are stored in a normal map, so you can use all standard map methods to add, remove, or update tag values. The search system does not enforce any schema; the meaning of tags is up to the application.