Made the code more generic where SOLR is only one implementation type an...

...d more implementation types can be easily added