使用Solr搜索索引作为数据库 - 这是“错误的”吗?
我的团队正在与使用Solr作为搜索索引的第三方CMS合作。我注意到,作者似乎正在使用Solr作为某种数据库,因为返回的每个文档都包含两个字段:
- Solr 文档 ID(基本上是类名和数据库 ID)
- 整个对象的 XML 表示形式
因此,基本上,它对Solr运行搜索,下载对象的XML表示形式,然后从XML实例化对象,而不是使用id在数据库中查找它。
我的直觉告诉我,这是一种不好的做法。Solr是一个搜索索引,而不是一个数据库...因此,对我来说,对Solr执行复杂的搜索,获取文档ID,然后从数据库中提取相应的行更有意义。
当前的实现是否完全合理,或者是否有数据支持重构时机已经成熟的想法?
编辑:当我说“XML表示形式”时 - 我的意思是一个存储的字段,其中包含对象所有属性的XML字符串,而不是多个存储字段。