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
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.
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
|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
any of the clauses in the field values should match
negates a single clause (if you want to negate multiple, you need multiple NOT statements)
combines multiple clauses (is implied at the top level)
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.
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.
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|
Matches will be limited to nodes that are siblings of the node with the search expression defined. 1 level up.
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
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.
Same as GRANDPARENTS_DESCENDANTS, but also including any references and their children
Any node that as any field defined will match
Any node that is a supertag definition
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
Nodes that have a checkbox, regardless if is is checked or not
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
Only nodes that have not been marked as done
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