Multiple tag behaviour seems incorrect / unintuitive

Bug #2042994 reported by Megh Parikh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
calibre
Won't Fix
Undecided
Unassigned

Bug Description

Let's say I have two tags - #my_fiction and #my_read. If I select #my_fiction with '+' status and '#my_read' with '-' status. The intuitive behaviour should be all books with '#my_fiction' but without '#my_read'. However this is not the case. IMO the behaviour should be `(union_of_'+'es or all_books) - union_of_'-'es)` (the current behaviour is union of all tag filters)

Megh Parikh (meghjp)
description: updated
Revision history for this message
Kovid Goyal (kovid) wrote :

How items you click on are combined in the search bar is controlled by a
setting which you can access by clicking the configure tag button at the
bottom. You can choose between combing with OR or AND. What is
"intuitive" for any given collection very much depends on whats in the
mind of the user when creating the collection. If you need search
criteria beyond simple AND/OR then you can always edit the search
expression manually.

Changed in calibre:
status: New → Won't Fix
Revision history for this message
Megh Parikh (meghjp) wrote :

Many thanks for the quick reply. That solves my issue. I would still argue that the behaviour feels "unintuitive" and I can not see a case where the query should by default be

`(+tag1 or +tag2 or +tag3) and not (-tag4 or -tag5 or -tag6)`

Which can also be written as

`+tag1 or +tag2 or +tag3 and not -tag4 and not -tag5 and not -tag6`

i.e. `tags:"=#tag1" or tags:"=#tag2" and not tags:"=#tags4" and not tags:"=#tags5"`

However I do understand how this would complicate the UI. Maybe this becomes a check-marked option "Invert and/or for -"? Note 'OR' was selected here, but due to this check-marked option the minuses were combined with 'and'. Also order and stuff starts mattering when combined in such a way so there would be implementation issues I guess.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.