# Silversearch - Fulltext search for Silverbullet

**URL:** <https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528>\
**Category:** Plugs and Libraries\
**Created:** [June 20, 2025, 10:44pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528 "2025-06-20T22:44:48Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![bnjbvr](https://community.silverbullet.md/user_avatar/community.silverbullet.md/bnjbvr/32/345_2.png) [@bnjbvr](https://community.silverbullet.md/u/bnjbvr)\
**Post date:** [June 24, 2025, 5:20pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/21 "2025-06-24T17:20:06Z")

</div>

Thanks, I love it! How hard do you think it would be to make it so that the popup window closes when pressing escape? it’s a behavior embedded in most other popup windows, it seems, and that I use a lot and thus am used to 🙂

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [June 24, 2025, 5:24pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/22 "2025-06-24T17:24:49Z")

</div>

That’s what it should be doing? I’m using the `oncancel` event, maybe that has different behavior in some browsers. What browser are you using?

---

<div class="post-metadata">

**Author:** ![bnjbvr](https://community.silverbullet.md/user_avatar/community.silverbullet.md/bnjbvr/32/345_2.png) [@bnjbvr](https://community.silverbullet.md/u/bnjbvr)\
**Post date:** [June 24, 2025, 5:29pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/23 "2025-06-24T17:29:52Z")

</div>

That’s Zen browser, which is a Firefox in disguise, on MacOS 👀

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [June 24, 2025, 7:30pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/24 "2025-06-24T19:30:09Z")

</div>

Can’t replicate. Tried with newest Zen Browser on mac, works totally fine for me. Must be something with your setup.

---

<div class="post-metadata">

**Author:** ![mjf](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mjf/32/654_2.png) [@mjf](https://community.silverbullet.md/u/mjf)\
**Post date:** [June 25, 2025, 5:38am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/25 "2025-06-25T05:38:10Z")

</div>

I can not replicate this on recent _Firefox_ on _Linux_. But according to the [documentation](https://docs.zen-browser.app/user-manual/shortcuts) the `Escape` key is mapped to **Stop Loading** action by default in the _Zen_ browser. Be there some way to unmap it, then try to unmap it (maybe there is the `zen.keyboard.shortcuts.enabled` option to disable key mappings all at once - about:config).

---

<div class="post-metadata">

**Author:** ![bnjbvr](https://community.silverbullet.md/user_avatar/community.silverbullet.md/bnjbvr/32/345_2.png) [@bnjbvr](https://community.silverbullet.md/u/bnjbvr)\
**Post date:** [June 25, 2025, 6:29am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/26 "2025-06-25T06:29:17Z")

</div>

Looks like this was caused by the Vimium addon I’m using. Disabling it made it so that I could use escape to close the search window. Sorry about the noise, thanks again for your help and the plugin also 🙂

---

<div class="post-metadata">

**Author:** ![zeus-web](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zeus-web/32/571_2.png) [@zeus-web](https://community.silverbullet.md/u/zeus-web)\
**Post date:** [June 25, 2025, 7:46am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/27 "2025-06-25T07:46:10Z")

</div>

A great addition to silverbullet. Thanks a lot for sharing!

---

<div class="post-metadata">

**Author:** ![zef](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zef/32/7_2.png) [@zef](https://community.silverbullet.md/u/zef)\
**Post date:** [June 25, 2025, 11:59am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/28 "2025-06-25T11:59:56Z")

</div>

I’ve now been using this for a while and… it’s pretty damn awesome. Completely puts the built-in search to shame (which, admittedly, wasn’t hard). This should a plug that everybody installs, although for licensing reasons we probably have to keep it outside of the main distribution for now.

Probably should feature this a bit more promimently on the website at some point.

Thanks again ❤

---

<div class="post-metadata">

**Author:** ![janssen-io](https://community.silverbullet.md/user_avatar/community.silverbullet.md/janssen-io/32/1155_2.png) [@janssen-io](https://community.silverbullet.md/u/janssen-io)\
**Post date:** [June 25, 2025, 12:06pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/29 "2025-06-25T12:06:03Z")

</div>

Would it be possible to keep the plug code in a separate repo, but have the default installation just pull it in (so opt-out by removing a line in CONFIG)?

---

<div class="post-metadata">

**Author:** ![zef](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zef/32/7_2.png) [@zef](https://community.silverbullet.md/u/zef)\
**Post date:** [June 25, 2025, 12:13pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/30 "2025-06-25T12:13:13Z")

</div>

I don’t know if we wouldn’t get into muddy territory here, but what would be possible is for the default CONFIG to have the plug pre-listed, after which only a single Plugs: Update would pull it in.

---

<div class="post-metadata">

**Author:** ![BenjaminTseng](https://community.silverbullet.md/user_avatar/community.silverbullet.md/benjamintseng/32/855_2.png) [@BenjaminTseng](https://community.silverbullet.md/u/BenjaminTseng)\
**Post date:** [August 4, 2025, 9:13pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/31 "2025-08-04T21:13:20Z")

</div>

@MrMugame this plugin is amazing (sorry it took so long for me to try this)! Does it auto-update its index as new things are created or do I need to trigger that manually?

---

<div class="post-metadata">

**Author:** ![marad](https://community.silverbullet.md/user_avatar/community.silverbullet.md/marad/32/1179_2.png) [@marad](https://community.silverbullet.md/u/marad)\
**Post date:** [August 5, 2025, 10:34am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/32 "2025-08-05T10:34:46Z")

</div>

This plugin looks supercool, and I’ll be definitely adding this to my instance. Thanks!

> [@zef](#):
>
> Perhaps the whole […] thing I built (which is way worse in terms of result quality) was way over engineered compared to what is actually needed.

@zef I’m pretty sure every engineer has said this exact quote more times than would like to admit.

I’m sure I did a few times just this week. And it’s tuesday 😃

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [August 5, 2025, 1:55pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/33 "2025-08-05T13:55:04Z")

</div>

It should. It listens to the same event SB internally listens to for its database.

---

<div class="post-metadata">

**Author:** ![icouto](https://community.silverbullet.md/user_avatar/community.silverbullet.md/icouto/32/1680_2.png) [@icouto](https://community.silverbullet.md/u/icouto)\
**Post date:** [September 15, 2025, 3:31am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/34 "2025-09-15T03:31:45Z")

</div>

We were planning to use SilverBullet as a ‘headless CMS’ for our websites, but came across a **[blocking issue](https://community.silverbullet.md/t/how-to-search-via-http-api/3198)**: SilverBullet’s HTTP API has no ‘search’ function, which is pretty essential for any CMS.

I was wondering whether it would be possible for @MrMugame to extend the Silversearch plugin to perhaps also work **on the server** — either as a standalone command-line tool (so it would be available through the `/.shell` API endpoint) — or even as a ‘server plugin’ that extends the HTTP API to expose a custom `/.query` endpoint, as proposed [in this Github feature request](https://github.com/silverbulletmd/silverbullet/issues/1532)…

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [September 15, 2025, 12:24pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/35 "2025-09-15T12:24:14Z")

</div>

> [@icouto](#):
>
> I was wondering whether it would be possible for @MrMugame to extend the Silversearch plugin to perhaps also work **on the server** — either as a standalone command-line tool (so it would be available through the `/.shell` API endpoint) — or even as a ‘server plugin’ that extends the HTTP API to expose a custom `/.query` endpoint, as proposed [in this Github feature request](https://github.com/silverbulletmd/silverbullet/issues/1532)…

This isn’t really in the scope as it would pose a complete rewrite. There isn’t even a way to extend the SB server at the moment, so that would either need to be a fork or another server on top of SB. Tl;dr: A lot of work, for something (using SB as a CMS) that isn’t really a goal of SB.

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [September 15, 2025, 1:43pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/36 "2025-09-15T13:43:58Z")

</div>

I’ve implemented document indexing/searching into Silversearch. If you want to know how to use it and what documents you can index, take a look into the [README](https://github.com/MrMugame/silversearch), it should be updated.  
If you want to try it, you have to use the edge build of Silverbullet, Silversearch and Silverbullet PDF with the following links

- `ghr:MrMugame/silversearch/edge`
- `ghr:MrMugame/silverbullet-pdf/edge`

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [September 21, 2025, 7:41pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/37 "2025-09-21T19:41:54Z")

</div>

Document indexing is now part of the newest release, so feel free to just update using `Plugs: Update`. There should also be major performance improvements to the edge release.

---

<div class="post-metadata">

**Author:** ![zeus-web](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zeus-web/32/571_2.png) [@zeus-web](https://community.silverbullet.md/u/zeus-web)\
**Post date:** [September 24, 2025, 4:20pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/38 "2025-09-24T16:20:03Z")

</div>

Just a dumb question:  
What does the “use tab to switch scope” is supposed to do?

If I press tab, I do not get any search results anymore.

---

<div class="post-metadata">

**Author:** ![MrMugame](https://community.silverbullet.md/user_avatar/community.silverbullet.md/mrmugame/32/358_2.png) [@MrMugame](https://community.silverbullet.md/u/MrMugame)\
**Post date:** [September 24, 2025, 7:37pm UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/39 "2025-09-24T19:37:11Z")

</div>

Oh, not a dumb question. It only searches the page you are on instead of the whole space, so it switches the “scope of your search” … theoretically, I changed some stuff internally for the last release and broke it, I just fixed it now, so it should work again if you pull the newest release.

---

<div class="post-metadata">

**Author:** ![zeus-web](https://community.silverbullet.md/user_avatar/community.silverbullet.md/zeus-web/32/571_2.png) [@zeus-web](https://community.silverbullet.md/u/zeus-web)\
**Post date:** [September 25, 2025, 8:45am UTC](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528/40 "2025-09-25T08:45:59Z")

</div>

LOL 🙂 Looks like I discovered that function just in time, when it was broken 🙂  
However, now it does make sense and after updating it works as expected.

(And now I understand also, why the “insert link” disappears on scope change 🙂 )

Thanks for clarification and the fix!

[Previous page](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528.md?page=1)

[Next page](https://community.silverbullet.md/t/silversearch-fulltext-search-for-silverbullet/2528.md?page=3)
