mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
Updated Search (markdown)
parent
2d67cac38b
commit
fd3971f8d0
25
Search.md
25
Search.md
@ -1,14 +1,35 @@
|
||||
Trilium supports searching in notes. In essence it consists of
|
||||
Trilium supports searching in notes. There are several ways to search notes:
|
||||
|
||||
* [[attribute|Attributes]] search - you can e.g. search for notes having certain label - see *Attribute query syntax* below.
|
||||
* full text search - search in text and [[code note|code notes]] content. Since this is implemented as a database search, this works only for not protected notes (doesn't matter if you're in protected session or not)
|
||||
|
||||
* [[attribute|Attributes]] search - you can e.g. search for notes having certain label - see *Attribute query syntax* below.
|
||||
|
||||
* you can save search string (composed of either fulltext or attribute search) into so-called "saved search" note. If you expand this note, you will see the search results as child notes.
|
||||
* saved search can also reference [[scripts|script]] through relation - upon expanding, the script will provide a list of results
|
||||
|
||||
You can activate search by clicking on magnifier icon on the left or pressing `CTRL-S` keyboard [[shortcut|keyboard shortcuts]].
|
||||
|
||||
## Fulltext
|
||||
|
||||
Fulltext search is triggered whenever search string doesn't start with `@` (used in attribute search) or `=` (saved search with script). You can enter any text, but only alpha numeric words are being searched.
|
||||
|
||||
Fulltext searches on undeleted, unprotected text and code notes which are not archived.
|
||||
|
||||
Fulltext is implemented using Sqlite's [FTS5](https://www.sqlite.org/fts5.html). This provides some advanced functionality, e.g. "NEAR(heavy metal)" will match notes only if a word "heavy" is close to "metal". But since this syntax is quite specific and easy to get it wrong, it is accessible only via `@text` virtual attribute. Such query would then look like this: `@text="NEAR(heavy metal)"`
|
||||
|
||||
## Attribute query syntax
|
||||
|
||||
Following examples demonstrates syntax:
|
||||
|
||||
<li>Just enter any text for full text search</li>
|
||||
<li><code>@abc</code> - returns notes with label abc</li>
|
||||
<li><code>@year=2019</code> - matches notes with label <code>year</code> having value <code>2019</code></li>
|
||||
<li><code>@rock @pop</code> - matches notes which have both <code>rock</code> and <code>pop</code> labels</li>
|
||||
<li><code>@rock or @pop</code> - only one of the labels must be present</li>
|
||||
<li><code>@year<=2000</code> - numerical comparison (also >, >=, <).</li>
|
||||
<li><code>@dateCreated>=MONTH-1</code> - notes created in the last month</li>
|
||||
<li><code>=handler</code> - will execute script defined in <code>handler</code> relation to get results</li>
|
||||
|
||||
* ```@abc``` - matches notes with label abc
|
||||
* ```@!abc``` - matches notes without abc label (maybe not the best syntax)
|
||||
* ```@abc=true``` - matches notes with label abc having value true
|
||||
|
Loading…
x
Reference in New Issue
Block a user