Also I want to know how to add meta data while indexing so that i can boost some parameters
You can use Apache Tika. Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.
Supported Document Formats
The code will look like this. Reader reader = new Tika().parse(stream);
Lucene indexes text not files - you'll need some other process for extracting the text out of the file and running Lucene over that.
There are several frameworks for extracting text suitable for Lucene indexing from rich text files (pdf, ppt etc.)
see https://github.com/WolfgangFahl/pdfindexer for a java solution that uses PDFBox and Apache Lucene to split the PDF files page by page to text, index these text-pages and create a resulting html index file that links to the pages in the pdf sources by using a corresponding open parameter.