ModelMapper modelMapper = new ModelMapper();
Gson gson = new GsonBuilder().create();
String json = ...
GenericEntity genericEntity = gson.fromJson(json, GenericEntity.class);
switch(genericEntity.getType){
case FUELL:
Fuell fuell = modelMapper.map(genericEntity, Fuell.class);
break;
case AMENITY:
Amenity amenity = modelMapper.map(genericEntity, Amenity.class);
break;
}
А из не офф. чтобы легче войти www.solrtutorial.com/solr-query-syntax.html
Если строк совсем нет, то думаю, что приимуществ у Solr не так много. Кроме бесплатности и более большой коммунити, только возможность деплоить в любой серфлет контейнер.
Но у Neo4j тоже есть embedded, то этому вам решать.
В любом случаее придется держать поиковые данные отдельно от основных.