Search functionality in Joplin

Hello everyone, I'm Marta from Joplin team :wave:.

We are currently looking into improving search functionality in Joplin. We would like to hear more about your experience when using it. If you would like to contribute and help us better understand the process, please answer the following questions:

  1. When looking for a particular note, what is your search process step by step? Can you describe where you click and how you go about it?

  2. Can you describe your experience when searching for a note?

  3. Do you have any remarks about the search feature?

All replies will be very helpful. Thank you in advance for your time and contribution!

8 Likes

I use the search bar and many search filters for finding my notes and on the whole I am very satisfied with it.
My biggest criticism of the search is that it is not sortable!

A other problem is case sensitive for non ASCII characters of the search #5102

Improvements that I would like to see:

  • Make search result sortable
  • Add option to exclude OCR
  • A GUI for all the filters
6 Likes

I open Go To Anything via a keyboard shortcut, and find it very convenient that recently edited notes are listed first. The search algorithm—however it's implemented—does a good job of getting to the note I'm after. I normally find what I need, over a couple of thousand notes, quickly. Occasionally I'll specify a specific notebook or tag, but generally don't find it necessary.

I rarely use the application search bar, except for finding special characters, e.g. -[ ], but do depend on it for that type of search when necessary.

2 Likes

Interesting topic. The search functionality is one of the biggest problems I have using Joplin.

I use the search bar above where I write the search string.
The most important problem I have is that search results (strings) inside notes aren't colored. If the note is a little longer, the user must use Search and Replace function and look inside the note as a mad cow.

1 Like

I think this is a problem of the Rich Text, the Preview and the MD editor shows the match colored

I also use Goto Anything as described above. Unfortunately, users must first find the menu item (Go > Goto Anything...) or keyboard shortcut (Ctrl+P by default, at this time) to use this feature. Separately, the Command Palette has no menu item (but can be accessed by tapping : in Goto Anything).

Goto Anything's Help button is a nice touch that's missing from the searchbar. Adding info from or a link to online Search docs could help reduce support requests. Adding basic search support and a toggle to search the currently opened notebook would be nice. Adding preview functionality like the Note List Preview plugin seems like a longshot but also came to mind.

This thread about Goto Anything and the searchbar seems relevant:

The searchbar works well for persisting all notes matching the search query in the note list while you edit one of them.

2 Likes

Because I can't sort search results by title I can't migrate to Joplin from Evernote and ResophNotes.

1 Like

Could be. But I (almost) only use Rich Text :smiley: in Joplin.

Hey, It could be possible to provide options for both basic and advanced search queries.

1 Like

I primarily use Cmd + P to search for notes / notebooks (with @) / commands (with :slight_smile: and tags (with #).

Then I typically do a "Search within note (Cmd +F)" to find what I am looking for within the particular note. The search term is typically highlighted, but still this is the main place where I have to scroll around searching - consuming most time.

  • Indicator of how many hits a search term has within a note in the "Goto" results might be something helpful.
  • Anything that will speed up search results in the backend will help.
1 Like

Hi @pravsripad, the Joplin Enhancement plugin gives you the number of search hits, and also adds the ability to search and replace within a note.

image

The feature can be enabled via the plugin's settings:

image

2 Likes

I am so thankful that I found Joplin and was able to migrate away from Evernote.
But my main regret is that the default search context doesn't default to the current notebook. I know others have mentioned it before.
Maybe there could be a set-up option for search behavior to do this.
Maybe some search-string key like "." or even "notebook:." as a prefix in the search string.
For me, my notebooks sometimes have long names or embedded spaces, making the current syntax difficuilt to use.
BTW, I am running Joplin 2.12.15 Desktop on Windows 10
Thanks....

  • When looking for a particular note, what is your search process step by step? Can you describe where you click and how you go about it?

I absolutely never use the search box near the top of the side bar. I hate the way it opens a new note (in a tab, since I use the tab plugin) before I ever even click on something. Very bad.

I always use my keyboard shortcut (the default, I think, ctrl + p

  • Can you describe your experience when searching for a note?

I would say that 90+% of the time I easily find the note I'm looking for if it exists. But I probably have a relatively low number of notes (~3000).

  • Do you have any remarks about the search feature?

I agree with those who say that when clicking on a result in the go-to search it should probably take you to the part of the note that has the keyword (or just the top if it's in the title)

Since most of my notes are my own creation, I probably know the right term to search for.

The go-to search should probably be returning folders as well and putting them at the top.

Overall I'm quite happy with the search, but I'm sure I will appreciate all the new improvements. Thanks!!!

2 Likes

Just pulled up the forum to see if there was any discussion around the very lacking search functionality - very glad to see this thread!

Per your requested feedback:

  • Process:
    1. Click in the global "Search" input box (after hitting CTRL-Shift-F and realizing that VS Code shortcut doesn't work in Joplin)
    2. Enter a search term
    3. Get dozens of completely irrelevant notes showing up in the list, with no way to see what the actual hits are in each note
    4. Get frustrated
    5. Try manually clicking through some of them in hopes that something will look familiar
    6. Give up
  • Experience: per above, awful :frowning:. I switched to Joplin several months ago after migrating away from Evernote, and I've been very happy with the desktop and Android apps, the editing experience and the syncing consistency. Unfortunately, as I've been using it more and adding more notes, and am now trying to go back and find information in some of those beyond looking at chronological sorted lists of notes, the search experience has been genuinely frustrating :frowning:
  • Search feature: I want the same kind of search UI that exists in VS Code. I want:
    • a search panel with the main search input and UI for editing filters, plus a list with search result hits per note (ideally with each note collapsible - exact same UI as VS Code has for file hits)
    • A full-screen search panel that shows the same input/filter UI but with each search result in its contextual lines, again the same as VS Code

I'm serious - just 100% replicate VS Code's full-file-search UI panels and this will be ideal.

I was literally considering trying to hack on building something like that myself.

Also, if credentials matter at all: I see that Joplin is built using Redux, and I maintain Redux :slight_smile: (I do see that Joplin's codebase apparently uses the legacy original redux package and not our modern @reduxjs/toolkit, so that's another thing that could be improved, but that's a separate topic from the search UI.)

edit

Having read this thread, I finally tried using CTRL-P for the first time.

This is definitely a better experience overall. It shows search hits per-file, to give me at least some idea what the matches are.

Still, I'd really like to see the VS Code-style search UI panels added. I see that the other thread on CTRL-P had similar thoughts - the CTRL-P search results list UI is temporary, it would be nice to group this by file as well, and it seems like the results list may have a capped length. I want to see all the results.

4 Likes

If you have the capacity, I'd say try hacking those panels together.

Since you mention VSCode, there is a Joplin VSCode plugin with support for displaying search results in the sidebar. You or others may find the plugin handy, but I don't know if it can achieve what you're looking for.

1 Like

Nice. I think that's the opposite of what I want, though. That's for accessing Joplin's data in actual VS Code. I want a panel with VS Code's UI inside of Joplin :slight_smile:

I looked at the actual Joplin codebase. Found the CTRL-P search implementation in GotoAnything.tsx, so that's easy enough. But, I see the "Contributing" guide says that unsolicited features aren't accepted without prior discussion first.

So, I'm looking at plugin development. I see that the Joplin plugin API has search functionality, and that you can add a webview for layout. So, the pieces are there, it's "just" a matter of actually building a plugin and doing all the actual work :slight_smile:

Playing around with the plugin generator atm and trying to get a sense of what the plugin dev workflow is like.

edit

even better, just found a plugin that uses React for the webview content, which is what I want.

Yeah. I have all the pieces I need to build exactly what I want. Plugin API, examples of plugins built with React, the search API, and then the app I work on for my day job ( https://replay.io ) happens to have its own VS Code-alike file search panel that I can copy-paste from.

Can't guarantee how long it'll take me to build this, but I am going to give it a shot.

edit 2

I have a basic plugin that shows a "Hello World" in a panel via React! Actually really easy to set up. Just add "extraScripts": ["gui/index.tsx"] in plugin.config.json, then write that file as if it were a normal ReactDOM app entry point. Nice. This is totally doable.

3 Likes

An "Autocompletion" or "sort while typing" feature while searching would be helpful, especially for finding notes with typo in them.

Now if I have a note with "closedsourcesuck" in it and I search for "closedsource" nothing appear.

2 Likes

That's interesting,thanks! Apart from listing recently edited notes first, are there any other reasons why you prefer Goto Anything over search?

You also mention using search bar when looking for specific characters, can you tell me more about that?

Okay, thanks for your reply! Apart from highlighting search results in Rich Text, are there any other examples where you think the search functionality could be improved?

1 Like

Thanks for your suggestions! Can you tell me why you mostly use GoTo Anything rather than search bar?

1 Like