general project description:
perform database keyword search based on user provided keywords.
if the search results empty; there need to be an option to expand keyword (find synonyms) by referring to ontology e.g. car - automobile. then perform search based on the new keyword.
the search result must be ranked by using information retrieval style ranking system such as recall/precision.
I could provide more detail information later.