L'utilisation ou non d'une base de données se résume vraiment à la durée à laquelle vous souhaitez conserver et développer ces données. Il est beaucoup, beaucoup plus facile de corrompre un index Solr entier (et de perdre toutes vos données) que de corrompre une base de données entière. De plus, Solr ne prend pas en charge la modification d'un schéma sans commencer par un nouvel index. Par exemple, vous pouvez très bien ajouter un autre champ, mais vous ne pouvez pas modifier le nom ou le type d'un champ sans effacer votre index.
Si vous optez pour une base de données, vous pouvez configurer Solr pour indexer directement à partir de la base de données en utilisant DataImportHandler . Pour votre schéma, cela devrait être assez simple, mais cela peut devenir pénible rapidement à mesure que votre base de données devient plus complexe. Je pense qu'il y a un avantage à utiliser les objets Hibernate que vous avez déjà configurés et à les insérer simplement à l'aide de Solrj. L'autre problème avec DataImportHandler est qu'il est entièrement contrôlé à l'aide de http. Vous devez donc gérer des tâches cron séparées (ou un autre code) pour gérer la planification à l'aide de wget
ou curl
.