Is it possible to retrieve data using combination of two indexes.
Yes, it is possible to retrieve data from the two indexes.
Open an IndexReaders for each index. Call them reader1 and reader2. Then you can use a MultiReader to read the indices and append the content.
MultiReader multiReader = new MultiReader(reader1, reader2);
IndexSearcher searcher = new IndexSearcher(multiReader);
Reference: How to perform search over independent index sets and merge results?
which is is best? indexing separate or indexing as single? Note: my data in database will not update. I just need best way.
Since the data in the DB will not change, I'd suggest that you use a single index.
On a side note, you might want to have a look at How to make indexing faster.