I agree with Voyflen in that the lack of Boolean operations for tags is the biggest drawback. Most apps that support tagging at least allow for AND queries using multiple tags. This could be done via gui by allowing to select more than one tag. If not only AND but also OR and NOT (and maybe XOR) are to be supported, I guess it makes sense to do those advanced tag searches in the search bar instead.
a search with “tags:mytag” should be helpful too, something I explain a long time ago
thus something like “title:movies body:power tags:superhero,marvel” could be an example of search
The main issue is to create a UI that works well for tags. Perhaps we should take inspiration from existing apps. Do you have any examples of apps that handle tags well?
I think there are two basic options that might be combined:
- Modify the search engine to accept Boolean commands and add a tag keyword (e.g. (tag:mytag1 AND tag:mytag2) NOT (title:mytitle1 OR title:mytitle2))
- Allow to Ctrl/Cmd-select tags and show notes that contain all of the selected tags (AND operators between tags)
I think most people would be happy with option 2 but option 1 would also improve the search function in general which is nice for power users.
I think most apps use some variant of option 2 like Turtl:
I have been away for a few days so I am not up to date with what is discussed here. Here is my formulated reply.
Searching with tags. Thank you for your request. I will try to keep this short but helpful. The short shortcut keys are for Windows but it would not be hard to guess what it would be for Apple.
If you have thousands of notes the first attempt to find the right note is likely to fail. The issue is always how to start. In some cases, it may be obvious, but in the more general case, it is not.
- So, you start with a guess, say one or two tags plus a Boolean operator (typically A AND B). This results in some hits but many near misses (false positives).
- Browse a few of the notes at the top of the list, sometimes even the title is enough, and it is mostly pretty obvious if you are on track and how the search can be refined.
- One option is to edit the search to exclude specific things you don’t want as these will stand out and may be labelled with a tag C (A AND B AND NOT C).
- Checking the search results again, you might like to narrow it down again in which case the additional tag D could help (A AND B AND NOT C AND D).
- The results are pretty good now and it would be useful of save the result by adding the tag E. Next time you want this result you just have to search with the tag E. Select all the search results with ctrl-A and then add the tag E in one go.
- If you are interested in searching certain folders make sure everything in that folder is tagged with that folder name (group tag function: ctrl-A for the selected folder notes, plus add tag). Say I want to find the notes with tag K in folder X (tagged folderX) and folder Y (tagged folderY), this can be searched with tags ((folderX OR folderY) AND K).
- Say you decided the notes with tag E are not wanted and you wish to delete those notes out of folder X and Y only. Then you would search with tags ((folderX OR folderY) AND E). The search result shows the notes you DONT want. You can now browse through and delete them individually, or group select (ctrl-click) on those notes you want to delete, or delete all in one go (ctrl-A and then hitting Del button).
- A final useful function with tags is to delete all unused tags (not assigned to any of the notes). It reduces clutter. If you select all notes with the tag E and delete these notes, there is still may be a tag E left in the tag register as a remnant.
The principle is that all editing is done from the search bar with a simple syntax that allows Boolean algebra of multiple tags and preferably nested expressions. I don’t like the Excel syntax for Boolean expression e.g. OR(A, AND(B, NOT©)). Too many or not enough brackets, who knows? I don’t like bracketing tags but you could bracket operators with a symbol such as .AND. and .OR. and .NOT… This is clear text. Boolean Algebra uses a notation of a different type and can be approximated on the keyboard AND(A,B)=A.B, OR(A,B)=A+B, NOT(A)=!A. I would insist the tags be specific so no string search notation with the characters “*” or “.”. You could then use them as logical operators. It is up to you what is easiest.
NOT© should be NOT bracket C bracket
I agree with @foxmask here. Syntax in the vein of
body:stuff tag:a tag:b is sufficient for most things, and still accessible. (People already use it in Outlook, Gmail and whatnot, after all.)
Anything that involves operands or parens, like
stuff AND (a AND b OR c) might be more powerful, but will be incomprehensible and/or cumbersome to most common users.
I think I have to agree with you. This behavior could also be obtained through a UI solution like the one I described above (option 2) which would serve as a user friendly alternative to the search syntax. I think implementing both is the way to go.
One thing I do with tags is to mark all tasks. This way the tasks can live in separate notebooks but when I want to get a list of all the tasks (like the org-mode agenda if you know that) I can just select the “tasks” label.
Too many opinions and much of them too complicated. For me it is enough to have ability to select multiply tags which would work as AND bolean, ie intersection.
And second - if i have selected tag(s) then content search should work inside my selection, not in full notebook.
3d - to shrink the output produced by tag’s selection, may tags works inside the selected notebook only?
Having just used to new enex/html import function to get all of my old Evernote notes into Joplin, the final final piece of the puzzle, now I have several thousand notes, is a more nuanced search. For my use I don't think I need to start building crazy complex searches, but being able to restrict to notebooks and tags and to specify text in the title would be ideal, possible with negation, e.g.:
notebook:project1 tag:priority test*
i.e. run the regular search, but restricted to those notes in the project1 notebook which are tagged as priority. Or:
i.e. those notes in project2 with summary in the title.
I rarely need to negate searches, but I can see that as also useful. The only other thing that for me would be great would be to search add a search for notes containing un-ticked "to do" items, e.g.
or similar. See also the discussion in:
I have discovered the difference between tag searches and keyword searches. In both, you type 3 or 4 words but end up with very different results. I use Joplin as primary “note-taker” but still have my old notes in Evernote (legacy) for those time I cannot find it in Joplin. Joplin has everything in Evernote has and more. I have tried many things but, with 11,145 notes accumulated over more than 5 years, find things much easier to find in Evernote. The question that has been bugging me is why are tags so much better, for which I have never had a good reply. Over multiple searches comparing the two, I found the following.
With a tag, you are grouping similar things. One tag will not help much as there can be over a thousand notes with this tag. Use 3 or 4 tags together (with a logical AND function) and you can end up with a quite small number of notes and they are all very, very similar. I not only find the note I was looking for but also other notes that could be helpful too. You discover a gold mine of stuff you may have forgotten about. Tagging is about giving a text a “personal” context. Personal means “for me it means this.” Tags allow you to structure a search in the way you think. The tagging makes finding things for me it is intuitive. Brilliant (whoever thought of it).
Joplin text search
Joplin has a fast text search. With 3 or 4 words you end up with a statistical result and will return a long list of many many notes. What you have is a statistical distribution of the words in each not. Many notes will be excluded because words are misspelt one of the other reasons listed in my first post. The words don’t even need to be together. The whole text is taken as one random sample of words without any context. I am sure this is a statistical valid search but does not understand the words in the context the way I do. This means that with Joplin there are a lot of hits and misses. Things come to the top of the list that are 5 years old: a not very likely result.
ONE FINAL point:
It is highly probable the text I am thinking of is one of the texts that I have recently modified. After all, you are working you need to pull up the same stuff over and over again. So why would the results in Joplin not be ordered so the most recent statistical hits are at the top?
I congratulate the developer(s) on creating Joplin but finding things in it is still too hard.
It’s hard to find the right note if you have a hundred or more notes, and I suppose it is almost impossible if you have thousand of them.
Let us search in the notebook or in the tag scope, or, as last resort, provide more than one directory for storing notebooks - not very good, but better than a garbage bin.
Hi, all. I will include here some thoughts since I have played a bit with tags in Joplin.
- Tags should always be visible in Joplin (see this). However, in the center panel (note titles), I would suggest an extra line for tags, like todoist does, with smaller font.
- Tags could be searchable, maybe with a
tags:prefix. More later.
- Searchable tags could accept special characters (@, _, &, etc)
- Tags could be part of the meta-data of the notes
- Saved searches could be a really good mechanism involving tags
- Suggestion of tag operations:
tags:tag1,tag2,tag3: presents results for notes with all those tags at same time
tags:tag1,+tag2,+tag3: presents results for all notes with one of the tags
tags:tag1,-tag2,tag3: presents all notes with tag1 AND tag3, except to the ones tagged also with tag2.
tags:tag1,-tag2,+tag3: presents all notes with tag1 OR tag3, except to the ones tagged also with tag2.
- Tags with special chars could make use of delimiters if needed, e.g.
- Exact matches are mandatory for tags search.
tags:"this is not"should not return fuzzy results
Improved work efficiency is a major application of note apps and to-do apps like Joplin. “Getting Things Done” (GTD) is a vastly popular method of task management for that purpose. But, it appears that Joplin cannot be used for GTD because Joplin cannot sort tags.
In GTD, the ability to sort tags is vital to track similar tasks (my next action) in various project categories (work, finance, relationships) across completion time horizons (day, week, month, 1-year, 5-years, or someday). It is vital list the “next action” from every category so that you know what you should be working on today, next week, next year.
“laurent Sep '19 – The main issue is to create a UI that works well for tags. Perhaps we should take inspiration from existing apps. Do you have any examples of apps that handle tags well?”
If anyone has a GTD setup in Joplin that you would like to share, I would find it very helpful.
That said, Joplin is a great product. Thank you.
Oh yeah, actually that would be beautiful.
With these you could use saved searches as notebooks itself, with the upcoming hierarchical tags tags itself will be more like notebooks as well. I think that would be a really good feature, indeed.
In addition: The possibility to easily activate tags and the Notes list shows Notes associated with that tag. BUT: you could have the possibility to activate more than one tag to have the AND functionality (deactivated ones are grey).
Apologies if you have gotten your answer elsewhere by now, but have you had a look at Zotero, Qiqqa and Calibre? They all have AND operators for tagging.
I personally dont use "tags" anymore inside joplin, it is way too inconvenient w/o being deletable/editable via text istself and the bad search function. I just add them at the end of my notes name with an #.