Использование поискового индекса Solr в качестве базы данных - это «неправильно»?

Моя команда работает со сторонней CMS, которая использует Solr в качестве поискового индекса. Я' Мы заметили, что похоже, что авторы используют Solr как своего рода базу данных, поскольку каждый возвращенный документ содержит два поля:

  1. Идентификатор документа Solr (в основном имя класса и идентификатор базы данных)
  2. XML-представление всего объекта

По сути, он выполняет поиск по Solr, загружает XML-представление объекта и затем создает экземпляр объекта из XML, а не ищет его в базе данных с помощью идентификатора.

Мое чутье подсказывает мне, что это плохая практика. Solr - это поисковый индекс, а не база данных ... так что для меня имеет смысл выполнить сложный поиск по Solr, получить идентификаторы документов, а затем вытащить соответствующие строки из базы данных.

Является ли текущая реализация отлично звучит, или есть данные, подтверждающие, что это созрело для рефакторинга?

EDIT: Когда я говорю «представление XML» - я имею в виду одно сохраненное поле, которое содержит строку XML со всеми свойствами объекта, а не несколько сохраненных полей.

52
задан jayunit100 3 June 2012 в 16:48
поделиться