Tana

Live Search/search expressions

Our powerful Live search

On of the most powerful features in Tana is the Live search, which is essential to set up the flows you want.

A live search can be set up in multiple ways:

  • The main way is to use the Find Nodes command from the command line, which lets you drill down to the search that you want.

  • Clicking a tag, clicking the "List of" or navigation target that's there, will bring you to a page with Live search active.

  • Opening a field's configuration, and clicking the spyglass will give you a list of all nodes with that field.

  • Choose "Show view options" for a node, with Command line or the context menu, and click on Search.

You can quickly edit your Live search by clicking Live search and edit it on the spot.

Search expressions

The search expression consists of a flat list of match-clauses that must be true for a node to match the search. The following match clause types can be used

Description
A reference to a node that is not a supertag
Only nodes below that reference in the note tree will be candidates
This includes referencing a Workspace to limit hits to nodes that live in that Workspace
A reference to a supertag
Only instances of that supertag will be candidates
Note that you will want to @ mention the supertag, not #.
A reference to an field definition
Only nodes that has a value set for this field will match
A field with one or more values
Only nodes that has all these values set for the specified field will match
The field-value PARENT can be used to match fields that have the parent-node of the node with the search expression as their value. When the search expression is setup on a node on a supertag, then all supertag instances will have a way to collect backlinks pointing to them.
The system nodes Defined/Not Defined will match nodes that have this field defined. However, the field might still be empty.
The system nodes Set/Not set will match nodes that have a value for this field.
A plain text node
Only nodes that has a title with the text as a substring will match
A regular expression between /.../ (if you have turned on regexp in Tana Labs)
Only nodes whose title match the regular expression will match
Field values Description
OR
any of the clauses in the field values should match
NOT
negates a single clause (if you want to negate multiple, you need multiple NOT statements)
AND
combines multiple clauses (is implied at the top level)
LT
the field value should be a field, with a value - finds nodes that have a value less than the value provided. Also works with dates.
GT
the field value should be a field, with a value - finds nodes that have a value greater than than the value provided. Also works with dates.
LINKS_TO
Matches all nodes that have inline refs or are linked nodes of the node in the value field. This is similar to the list you get as "Linked References" when zooming in on a node. You can also use PARENT and GRANDPARENT to find all nodes that link to the parent/grandparent node.
A plain text node using one of these keywords:Description
PARENTS_DESCENDANTS
Matches will be limited to nodes that are siblings of the node with the search expression defined. 1 level up.
GRANDPARENTS_DESCENDANTS
Matches will be limited to the tree below the node above the parent node of the node with the search expression defined. 2 levels up
PARENTS_DESCENDANTS_WITH_REFS
Same as PARENTS_DESCENDANTS, but also including any references and their children
This makes it possible to define searches on nodes in Supertags, and have the supertag instances get local search behavior.
E.g. a Project supertag could have Bugs node with a search defined that would only find Bug-instances withing the scope of the project from which it was run.
GRANDPARENTS_DESCENDANTS_WITH_REFS
Same as GRANDPARENTS_DESCENDANTS, but also including any references and their children
HAS_ATTRIBUTE
Any node that as any field defined will match
IS_TAG
Any node that is a supertag definition
HAS_TAG
Any node that is tagged with a supertag (but is not a supertag def itself)
CREATED LAST <N> DAYS
Any node that has been created the last N days
TODO
Nodes that have a checkbox, regardless if is is checked or not
DONE
Only nodes that have been marked as done
DONE LAST <N> DAYS
Any node that has been marked as done (using keyboard action) the last N days
NOT DONE
Only nodes that have not been marked as done
OVERDUE
Only nodes with the system field Due date, which are overdue
MODIFIED BY (USER EMAIL) LAST (NUMBER) DAYS
Any nodes modified by the user with the user email, within the last N days.
MODIFIED BY (USER EMAIL) ANYTIME
Any nodes modified by the user with the user email at any timer
DONE LAST (NUMBER) DAYS
Marked as done in the last n days
EDITED LAST (NUMBER) DAYS
Edited in the last n days
FOR DATE YYYY-MM-DD
Node has an inline ref to the date specified
FOR RELATIVE DATE (Today|Tomorrow)
Find nodes with an inline ref to the Today/Tomorrow

Related content

Search, filters & views

Searches, filters and views is one of the fundamental building blocks in Tana. Get a good overview and learn how you can build flows for pretty much anything you can imagine