我正在使用POJO(Plain Old Java Object)类来映射关系数据库并使用Apache Solr来索引数据库。
我不知道是否可以为Apache Solr重用pojo类。
由于映射类太具体并且设计时考虑了外键关系,因此很难将这些类与Solr(单个模式搜索服务器)一起使用,但是为Apache Solr创建新的POJO类也很困难。 / p>
所以我想知道哪种是更好的重用设计方法。
此外,我想知道重复使用同一个POJO课程的陷阱。
答案 0 :(得分:1)
SOLR与关系数据库非常不同......基本上它就像一个大表(有多个差异,如多值列)。
现在,我认为你的问题落后于具体实施(POJO)......
首先,你必须对你的表进行去规范化......这是使用SOLR时你需要做的真正的事情。我的意思是从您的ER传递到SOLR架构。一旦这样做,你可以使用Solrj来映射具有pojo的实体,但这只是故事的最后部分。
仍然关于非规范化:对映射在关系数据库之上的一组POJO的原始翻译没有意义。关系数据库是通用的:它们的设计方法是以数据为中心的。我的意思是,首先决定如何存储您的数据,之后SQL客户端将能够获得他们需要的东西。
SOLR以不同的方式工作:为了更准确地确定您的架构,您应该知道您的搜索要求(即查询)。模式不是通用的(如数据库),而是在搜索要求之上分层。这就是为什么你可以索引atrtribute,决定什么样的分析需要特定领域,多值,单值,词干等等的原因
所以基本上,它都是关于非规范化和查询要求的。