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