Greetings all from a first time poster!

I manage a natural history image library website and I'm looking to tweak our search engine.

Given a list of keywords that associate with the species identified in an image and additional keywords defined by the context of the image (e.g. portrait, landscape, nesting, mating, eating, pollinating, leaves, paws, etc.), Id like to find the fastest, most efficient way to pull up matching images while maintaining control over the keywords associated with species but allowing flexibility in how contributors designate contextual keywords.

I designed our current search engine 2 years ago and it runs on a keyword table that links a fulltext semicolon delimited keyword field to individual species IDs and each image is designated with a unique species ID. Keywords represent the taxonomic nomenclature (Kingdom, Phylum, Class, Order, etc.), synonyms, English and Spanish names. An example of the contents of one record in the keyword table is:

Species ID: #####
Species Name: Canis latrans
Keywords: Animalia; animals; Canidae; canines; Caniformia; Canis latrans; Carnivora; carnivores; Chordata; chordates; Coyote; coyotes; dogs; Eutheria; Mammalia; mammals; Theria; Vertebrata; vertebrates

The current method does not permit contextual keywords or multiple species per image, both of which we would like to incorporate. Any suggestions would be much appreciated.