For dynamic output (without needing dataview), insert into a note e.g…
```query
path:"cs/km/mindmaps/" file:"DO"
```
dynamic output
PS: The query control plugin(BRAT or manual install) adds more controls.
Searches based on Search - Obsidian Help
Search syntax
Combining sub-queries
When crafting a search query, remember that clicking "Explain Search Term" will give an explanation of what is being searched for, which can be very useful when debugging a complicated search.
Words in the search query separated by space will be searched independently in each note. For example foo bar will find a note that includes both foo and bar anywhere in it.
"Quoted strings" can be used to search multiple consecutive words separated by space, or in other words, a phrase. So, searching for "foo bar" with quotes will only find notes that include those words next to each other. You can use backslash \" to escape double quotes if you actually want to search for a string that includes quotes. And \\ will do the same for backslash.
Boolean operations can be used. Use OR to match one or another. Use - to negate a query. The space character is used for boolean "and".
For example: foo OR bar will find all notes that contain either of those words, they don't have to be in the same note. foo -bar will find all notes that contain foo, but not if they also contain bar.
Parenthesis can be used to group boolean operations. For example ((a OR b) (c OR d)). This can be useful when crafting complex searches to make sure things happen in the order you want.
REGULAR EXPRESSIONS (REGEX) can now be used in search. Use forward slash to denote a regular expression. For example: /[a-z]{3}/. Obsidian accepts the JavaScript flavor regular expressions. You can learn more about it here.
Search operators
Several special operators are available. Some operators allow nesting queries using parenthesis, for example: file:("to be" OR -"2B"). You can use - to exclude specific results from search, for example: foo -tag:#bar.
file:(...) will perform the following subquery on the file name. For example: file:.jpg. If you use Zettelkasten-style UIDs, this can be useful for narrowing a time range, for example file:202007for files created in July of 2020.
path:(...) will perform the following subquery on the file path, absolute from the root. For example: path:"Daily Notes/2020-07".
content:(...) will perform the following subquery on the file content. For example: content:"happy cat".
match-case:(...) and ignore-case(...): will override the case sensitive match logic for the following subquery.
tag: will search for your specified tag within a file, for example tag:#work. This is faster and more accurate than searching for the tag in plaintext #work, as it uses the cached information and ignores text in code blocks and sections that aren't markdown text.
line:(...) will perform the subquery on a line-by-line basis, rather than a file-by-file basis. For example, if you search for foo bar, this could match a file that has foo in the first paragraph and bar in the last paragraph. Searching for line:(foo bar) will only match if foo and bar are on the same line.
block:(...) will perform the subquery on a block-by-block basis. A markdown block is separated by empty lines. In the context of this command, list items are also considered as separate blocks. This is expensive computationally as it requires parsing each file, which means this is likely slower than other modes.
section:(...) will perform the subquery on a section-by-section basis, where each section is the text between two headings, including the first heading.
task:(...) will perform the subquery only on each task and on a block-by-block basis. Use task:"" to match all tasks.
task-todo:(...) will perform the subquery only on each uncompleted task and on a block-by-block basis. Use task-todo:"" to match all uncompleted tasks.
task-done:(...) will perform the subquery only on each completed task and on a block-by-block basis. Use task-done:"" to match all completed tasks.
Personally I bookmark all my important searches, including search templates, so to have them easily available in the sidebar.
However you could just create them as dynamic queries in one or more notes.
In my search/query templates I use “xyzxyz” and regex /xyzxyz/ so that they don’t fire and I can fill in what I actually want to search for at the time.
My dynamic queries templates note is quite large with non-active ones
<!-- commented out. →
Here is a small excerpt (1st one: regex) …
<!--
```query
file:/.*xyzxyz.*/
```
```query
path:"xyzxyz" file:"xyzxyz" content:"xyzxyz"
```
```query
path:"xyzxyz" file:"xyzxyz"
```
```query
path:"xyzxyz" content:"xyzxyz"
```
```query
file:"xyzxyz" content:"xyzxyz"
```
```query
file:"xyzxyz"
```
```query
content:"xyzxyz"
```
-->
active query:
```query
path:"cs/km/mindmaps/" file:"DO"
```