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
Tana is changing at a rapid pace 🚀 While many concepts remain the same, some user interface and features have changed a lot since they first were documented here! Please keep this in mind while browsing.
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
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 |
Looking for actual examples of all the search expressions above? In close collaboration with our Tana Navigators, we now have available a Tana Template full of Live Search examples that allow you to interact with each search expression above to see how they work. They cover the basics and will continuously be updated as we surface more useful examples from the community. This link will launch Tana and prompt you to save the resource in one of your workspaces.
View of the Search examples tab
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