Skip to content

Releases: disasta-G/sift

1.4.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 13:23

Full Changelog: 1.4.0...1.4.1

1.4.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 08:23

Full Changelog: 1.3.0...1.4.0

1.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:57

Full Changelog: 1.2.1...1.3.0

1.2.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:30

Full Changelog: 1.2.0...1.2.1

1.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:22

Full Changelog: 1.1.1...1.2.0

1.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 11:06

Full Changelog: 1.1.0...1.1.1

1.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 10:38

Full Changelog: 1.0.1...1.1.0

1.0.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 07:18

Full Changelog: 1.0.0...1.0.1

1.0.0

Choose a tag to compare

@disasta-G disasta-G released this 08 Sep 06:54

Sift replaces the built-in search with one that finds a word inside a word.

Typing maschine finds Espressomaschine, because the index is built on
trigrams rather than on prefixes. Typing kueche finds Küche, and küche
finds a note written Kueche — German spellings reach each other in both
directions, and the same holds for strasse and Straße.

What it does

  • Substring search. Any part of a word matches, not just the beginning.
  • Operators. "an exact phrase", -exclude, a OR b, and the field
    prefixes path:, title: and tag:. A malformed query never fails; the
    readable part is searched and the rest is marked.
  • Filters. A folder with or without its subfolders, and a created-date
    range picked from a calendar or from the quick picks. The created date comes
    from the note's own frontmatter where it has one, and from the file otherwise.
  • A filter on its own is a search. Leave the query empty, pick a date range
    or a folder, and the notes are listed newest first.
  • Ranked results. Title hits outrank headings, headings outrank body text;
    whole words, terms standing close together and recently changed notes all
    count. Each result shows up to three excerpts of up to five lines each, cut
    from the note as it is written, with the hit marked.
  • Typo tolerance, on request. The "Similar" switch finds Espresomaschine
    when the note says Espressomaschine, labels why the note appeared, and never
    pushes an approximate hit above an exact one. Off by default.
  • Curate a run. Keep or dismiss each result as you go, undo a dismissal, and
    open what is left in its own tab.
  • Keyboard first. Arrows move, Enter opens, Ctrl/Cmd+Enter opens in a new
    tab, Ctrl/Cmd+Shift+K/X/Z keep, dismiss and undo. Opening a result puts the
    cursor on the hit, not at the top of the note.
  • English and German, following the app's own language setting.

Privacy

Sift makes no network requests. It collects no telemetry and sends nothing
anywhere. The index lives in the browser database of the app on your own
machine, and the only file it writes into the vault is its own settings.

Performance

Measured against a generated 10 000-note vault on a desktop workstation:
the first index takes about 2 seconds, a warm start about 1.2 seconds, the
index occupies about 51 MB, and the slowest of 34 query shapes answers in
43 ms. Typo tolerance costs more and is off by default.

Installing

Desktop and mobile, Obsidian 1.8.7 or newer. Until the plugin is in the
community directory, install it by hand: download main.js, manifest.json
and styles.css from this release into
<your vault>/.obsidian/plugins/sift/, then enable Sift in
Settings → Community plugins.

Then run the command Sift: Open search. It has no default hotkey; assign
one in Settings → Hotkeys if you want it on a key.