jimc:
i thought i did use hand only and i cannot imagine that there is just 1 story with minor sex, adult, male spanker, female spankee in the library and when you did put the function in i used the hand only quite often and had several stories (more than 1 i am sure)
Well it turns out you were right and the thing that got me thinking is when you said that until recently you'd been getting a different result. So then, from a programming point of view you have to ask yourself the question "has anything changed recently?". Eventually, I remembered that a couple of days ago I added a couple of addition implements to the search form (martinet and clothes brush) and that's when the penny dropped.
The implements that feature in a particular library submission are all stored in the database as packed data in a single field with a '0' indicating that a particular implement isn't featured and 1 indicating that it is. So, if you had a story that had, say, only a cane being used and cane was stored as the 5th implement out of the total the value you'd get would be: 000010000000000000000000. This is where there are only 24 different implements being recorded. However, I recently added 2 more and so the same search would then look for 00001000000000000000000000 and of course that can't match with any of the library items apart from the very recent ones because the search string is too long. In other words:
000010000000000000000000 (items with just cane for all but recent submissions)
00001000000000000000000000 (search parameter generated by search form)
Basically, I'd forgotten to pack the implement field for the older records with a couple of trailing zeroes. Anyway, I've done that now so you should find your search is once again generating plenty of matches and you can forget all the techy waffle above....
