aboutsummaryrefslogtreecommitdiffstats
path: root/docs/versioned_docs/version-v0.23.1/14-Guides/02-search-query-language.md
blob: b0d8ffd3e12cdd5b8b4fce0341b5ebae6635ec05 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Search Query Language

Hoarder provides a search query language to filter and find bookmarks. Here are all the supported qualifiers and how to use them:

## Basic Syntax

- Use spaces to separate multiple conditions (implicit AND)
- Use `and`/`or` keywords for explicit boolean logic
- Use parentheses `()` for grouping conditions
- Prefix qualifiers with `-` to negate them

## Qualifiers

Here's a comprehensive table of all supported qualifiers:

| Qualifier                        | Description                                        | Example Usage         |
| -------------------------------- | -------------------------------------------------- | --------------------- |
| `is:fav`                         | Favorited bookmarks                                | `is:fav`              |
| `is:archived`                    | Archived bookmarks                                 | `-is:archived`        |
| `is:tagged`                      | Bookmarks that has one or more tags                | `is:tagged`           |
| `is:inlist`                      | Bookmarks that are in one or more lists            | `is:inlist`           |
| `is:link`, `is:text`, `is:media` | Bookmarks that are of type link, text or media     | `is:link`             |
| `url:<value>`                    | Match bookmarks with URL substring                 | `url:example.com`     |
| `#<tag>`                         | Match bookmarks with specific tag                  | `#important`          |
|                                  | Supports quoted strings for tags with spaces       | `#"work in progress"` |
| `list:<name>`                    | Match bookmarks in specific list                   | `list:reading`        |
|                                  | Supports quoted strings for list names with spaces | `list:"to review"`    |
| `after:<date>`                   | Bookmarks created on or after date (YYYY-MM-DD)    | `after:2023-01-01`    |
| `before:<date>`                  | Bookmarks created on orbefore date (YYYY-MM-DD)    | `before:2023-12-31`   |

### Examples

```plaintext
# Find favorited bookmarks from 2023 that are tagged "important"
is:fav after:2023-01-01 before:2023-12-31 #important

# Find archived bookmarks that are either in "reading" list or tagged "work"
is:archived and (list:reading or #work)

# Find bookmarks that are not tagged or not in any list
-is:tagged or -is:inlist
```

## Combining Conditions

You can combine multiple conditions using boolean logic:

```plaintext
# Find favorited bookmarks from 2023 that are tagged "important"
is:fav after:2023-01-01 before:2023-12-31 #important

# Find archived bookmarks that are either in "reading" list or tagged "work"
is:archived and (list:reading or #work)

# Find bookmarks that are not favorited and not archived
-is:fav -is:archived
```

## Text Search

Any text not part of a qualifier will be treated as a full-text search:

```plaintext
# Search for "machine learning" in bookmark content
machine learning

# Combine text search with qualifiers
machine learning is:fav
```