Korzystanie z bazy danych lub nie, tak naprawdę sprowadza się do tego, jak długo chcesz przechowywać i rozwijać te dane. Dużo łatwiej jest uszkodzić cały indeks Solr (i stracić wszystkie dane) niż całą bazę danych. Ponadto Solr nie ma dużego wsparcia dla modyfikowania schematu bez rozpoczynania od świeżego indeksu. Na przykład możesz dodać kolejne pole, ale nie możesz zmienić nazwy ani typu pola bez wymazania indeksu.
Jeśli korzystasz z bazy danych, możesz skonfigurować Solr do indeksowania bezpośrednio z bazy danych za pomocą DataImportHandler . W przypadku twojego schematu powinno to być całkiem proste, ale może to szybko stać się bolesne, ponieważ baza danych staje się bardziej złożona. Myślę, że korzystanie z obiektów Hibernate, które już skonfigurowałeś, i po prostu wstawianie ich za pomocą Solrj, ma pewne zalety. Innym problemem związanym z DataImportHandler jest to, że jest on całkowicie kontrolowany za pomocą protokołu http. Musisz więc zarządzać oddzielnymi zadaniami cron (lub innym kodem), aby obsłużyć planowanie za pomocą wget
lub curl
.