Why will people be trying to find a specific character? Why do your examples focus on finding unfamiliar characters?
You give us two example problems where people are trying to find a character that they are not familiar with. I would expect most people to choose characters that they are familiar with. That is what I would do. I would choose a character I like, e.g. Captain Jack.
If the people are familiar with the character then much of your problem disappears because they can find the character using any of the paths you listed.
So are you saying that people are going to be “forced” to find characters that they are not familiar with?
Or are you saying that many people will have no idea about the characters? In this case, I would group them by desired attributes which could include “hero”, “strong”, “good”, “beautiful”, “magic”, “sorcerer”, “realistic”, “red skin”, “metallic costume”, “young”, etc.