Calibre has a feature that lets you create subtags. See "Making subgroups of tags" in the official blog post.
Now to actually get hierarchical tags, in the tags section of the metadata entry enter a tag of the form MainTag.SubTag. Like in the top figure on the right and example would be Classics.Russian or Classics.English.
Say, I have tags
Classics
|__ Russian
|__ English
What search expression should I use to display all the books that are tagged with "Classics" or with its subtags i.e "Classics.English" and "Classics.Russian"?
I can get the result with
tags:"=Classics.English" or tags:"=Classics.Russian" or tags:"=Classics"
But its becomes ungainly if there are more than few subtags.
What search expression I should use here?