in reply to searching complex data structures

I'm not sure I'm completely grasping your problem.

Why not have a master index hash, which would link strings to their entries in the HoH?

Can a string occur more than once? In that case, you probably want a master HoA, with each entry in the A being a pair of "key list -> reference".
--
Mike