L'utilizzo o meno di un database si riduce a quanto a lungo termine si desidera conservare e far crescere questi dati. È molto, molto più facile corrompere un intero indice Solr (e perdere tutti i tuoi dati) che corrompere un intero database. Inoltre, Solr non ha un ottimo supporto per la modifica di uno schema senza iniziare con un nuovo indice. Ad esempio, potresti aggiungere un altro campo senza problemi, ma non puoi cambiare il nome o il tipo di un campo senza cancellare il tuo indice.
Se utilizzi un DB, puoi configurare Solr in modo che indicizzi direttamente dal DB utilizzando DataImportHandler . Per il tuo schema, questo dovrebbe essere abbastanza semplice, ma può diventare doloroso rapidamente man mano che il tuo DB diventa più complesso. Penso che ci sia qualche vantaggio nell'usare gli oggetti Hibernate che hai già impostato e semplicemente inserendoli usando Solrj. L'altro punto dolente con DataImportHandler è che è completamente controllato tramite http. Quindi è necessario gestire processi cron separati (o qualche altro codice) per gestire la pianificazione utilizzando wget
o curl
.