Clever Search

unlisted

by Alex Clifton

Helping you quickly locate the notes in your mind in the easiest way, without the need for complex search syntax to find relevant content.

166 starsUpdated 19d agoGPL-3.0
View on GitHub

Obsidian Clever Search

Enjoy swift access to your notes with minimal key presses

中文文档 | English Doc

What's New in 0.3

Version 0.3 focuses on making Clever Search feel faster, more forgiving, and easier to reuse across repeated searches.

  • Hybrid vault search: combine lexical retrieval with semantic ranking, with graceful fallback to lexical-only results when the semantic path is unavailable
  • Search history autocomplete: only previously confirmed queries are recorded, then reused for fuzzy-ranked candidates, top-history ghost completion, and matched-character emphasis while typing
  • Search history controls: enable or disable history, choose the maximum history size, clear saved history from settings, and remove individual entries directly from the candidate list
  • Cleaner repeat-search workflow: history suggestions support mouse selection, keyboard navigation, Ctrl+R manual toggle, Tab ghost acceptance, Delete or x removal, and Enter confirmation without changing result ranking logic

Demo

Realtime highlight and preview

demo-search-in-file

demo-search-in-file

Privacy Mode

demo-privacy-mode

Features

Major

  • Hybrid search in the vault (lexical + semantic, with fallback)
  • Semantic search in the vault (Windows only)
  • Fuzzy search in the vault
  • Fuzzy search inside current note
  • Realtime highlighting and precise jump to the target location
  • Toggle privacy mode (Edit mode only)
  • Search history autocomplete
  • Persistent search history

Subtle Tweaks for Better UX

  • Search from selection

  • Automatically copy result text on selection

  • Search commands (In-vault lexical search only)

    You can temporarily change search options using commands in the search bar. These commands take priority over settings in the settings tab and must be at the beginning or end of the input, separated from the search text by a space.

    Commands cannot be placed in the middle of the search text. You can combine commands, e.g., /ap/nf something /np. Later commands override earlier ones of the same type (e.g., /np overrides /ap).

    /ap   allow prefix matching
    /np   no prefix matching
    /af   allow fuzziness
    /nf   no fuzziness
    

Integrate with other plugins

  • Style Settings
  • Omnisearch
    Details New command:
    "Search in file with last Omnisearch query"

    Use case:
    When you confirm an in-vault search by Omnisearch and think there might be more matched text that are not listed by Omnisearch in current file, trigger this command will open a in-file search modal and fill the search bar with last query in Omnisearch.

    Note:
    This is just a temporary workaround for a better in-vault search. I will implement full-featured in-vault search without dependency on Omnisearch in the future.

Available Commands

ScopeNameHotkey
ItemView item contextLeft Click
ModalNext itemCtrl-J
ModalPrevious itemCtrl-K
ModalNext subItem (in-vault)Ctrl-N
ModalPrevious subItemCtrl-P
ModalConfirm itemEnter / Right Click / Double Click
ModalConfirm item in the backgroundCtrl + Enter / Right Click / Double Click
ModalToggle lexical / semantic searchCtrl-S
ModalInsert file linkAlt-I
ObsidianSearch in vault semanticallyundefined
ObsidianSearch in vault lexicallyundefined
ObsidianSearch in fileundefined
ObsidianSearch in file with last Omnisearch query (preserved as a tribute)undefined
ObsidianToggle privacy modeundefined

Limitations

In-file Search performance may be slower when a file contains over 500k characters. However, there is no such performance limitation for in-vault search.

Installation

  • Install through BRAT and turn on Auto-update plugins at startup option to automatically install the latest version when available.
  • (Manual) installation:
    1. Download the latest main.js, style.css and manifest.json from the latest release
    2. Create a folder named clever-search in .obsidian/plugins at your vault location
    3. Move above files into the folder you created
    4. click reload plugins at Settings - Community plugins - installed plugins and enable Clever Search

FAQ

Declaration

In compliance with the requirements of the Obsidian developer policy, this notice declares that this plugin downloads necessary program resources from the web into the userData directory. The specific location of these resources can be found in the plugin settings.

Support

If this plugin has been useful to you, I'd be sincerely thankful for your star⭐ or donation❤️.

image

Special thanks to @Moyf for the generous contribution to this project.

Thanks again, @Moyf, for your second donation! (Received: August 28, 2025)

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.