OK, here is what I put together :
exiftool -ext .JPG -fast -p '$directory/$filename;$Keywords' -qq -r -m . 2> /dev/null | grep -i '\;.*keyword1\|keyword2\|keyword3' | sed 's/\;.*//'
This will produce a clean list of all the filenames containing either of the keywords, of which you can put as many as you want ; You can then feed it to a viewer to construct a gallery / slideshow on the fly, like in this final function :
px-image-tag-viewer () { TAGS= SLIDESHOW_OPS= for i in ${*}; do [[ $ =~ '^[0-9]+$' ]] && SLIDESHOW_OPS="-D$ --fullscreen" || TAGS+="$\|" done exiftool -ext .JPG -fast -p '$directory/$filename;$Keywords' -qq -r -m . 2> /dev/null | grep -i "\;.*$" | sed 's/\;.*//' > /tmp/imglist.txt feh $ --auto-zoom --filelist /tmp/imglist.txt rm -fv /tmp/imglist.txt }
Get in the directory, and invoke it like this :
px-image-tag-viewer holidays sigma horiz 5
With the tags separated by spaces, and an optional number of seconds for a slideshow.