I'm sure this is a complex problem requiring many iterations of work, so I'm just looking for pointers in the right direction of research here.
I have a base term, such as let's say "black dress" that I might search for. Someone searching on this term is most logically looking for black dresses. In my dataset I have black dresses, but I also have many CDs with the term "black dress" in them (it's not so uncommon of a song title). I would want the CDs to show up if I search for a more specific term like "black dress CD", but I would want the black dresses to show up for the less specific term "black dress". Google image search is excellent at handling this example. A pretty vanilla installation of Solr isn't yet great at it. So. just looking for a nudge in the right direction here. What should I go read up on first to start learning how to improve on these results?