How to do semantic keyword search with nlp
Your questions is somewhat vague but I will try nonetheless...
If I understand you correctly then what you want to do (depending on the effort you want to spend) is the following:

Expand the keyword to a synonym list that you will use to search for in the topics (you can use WordNet for this).
Use collocations (n-gram model) to extend the keyword to the likely bi-, tri-grams and search for these in the texts.
Depending on the availability of the data you may also want to create a classifier (e.g. using good old SVM or CRF) that maps list of keywords into topics (where topic is a class).
Assuming that you have a number of documents per each topic, you may also want to create a list of most frequent words per topic (eliminating stop-words).

Most of the functionality is available via NLTK, Pandas, etc. for Python and OpenNLP, libsvm, LingPipe in Java.
I want to do SEMANTIC keyword search on list of topics with NLP(Natural Language Processing ). It would be very appreciable if you post any reference links or ideas.