À l'aide de Solr index de recherche en tant que base de données - est-ce “mal”?

Mon équipe est de travailler avec un tiers de la CMS qui utilise Solr comme un index de recherche. J'ai remarqué qu'il semble que les auteurs sont à l'aide de Solr comme une base de données de toutes sortes à ce que chaque document retourné contient deux champs:

  1. La Solr d'identification du document (en fait un nom de classe et id de base de données)
  2. Une représentation XML de l'ensemble de l'objet

Donc, fondamentalement, il exécute une recherche Solr, télécharger la représentation XML de l'objet, puis instancier l'objet de l'XML plutôt que de regarder dans la base de données à l'aide de l'id.

Mon intuition me dit que c'est une mauvaise pratique. Solr est un index de recherche, pas une base de données... donc il fait plus de sens pour moi d'exécuter nos recherches complexes à l'encontre de Solr, obtenir l'id de document, puis tirez les lignes correspondantes de la base de données.

Est l'implémentation actuelle, parfaitement sain, ou est-il données à l'appui de l'idée que c'est mûr pour le refactoring?

EDIT: Quand je dis "représentation XML" - je veux dire celui qui est stocké champ qui contient une chaîne de caractères XML de toutes les propriétés de l'objet, non pas de multiples champs mémorisés.

  • Juste par curiosité, quel CMS est-il?