0

我正在使用 POJO(普通旧 Java 对象)类来映射关系数据库并使用 Apache Solr 来索引数据库。

我不知道我是否可以为 Apache Solr 重用 pojo 类。

由于映射类过于具体,并且在设计时考虑了外键关系,因此很难将这些类与 Solr(单一模式搜索服务器)一起使用,但为 Apache Solr 创建新的 POJO 类也很困难。

所以我想知道哪个是更好的重用设计方法。

另外我想知道重用同一个 POJO 类的陷阱。

4

1 回答 1

1

SOLR 与关系数据库非常不同......基本上它就像一个大表(有几个不同之处,如多值列)。

现在,我看到您的问题落后于具体实施(POJO)......

首先,您必须对表进行非规范化......这是使用 SOLR 时需要做的真正困难的事情。我的意思是从你的 ER 传递到 SOLR 模式。完成后,您可以使用 Solrj 将实体映射到 pojo,但这只是故事的最后一部分。

仍然关于非规范化:对映射在关系数据库顶部的一组 POJO 进行原始翻译是没有意义的。关系数据库是通用的:它们的设计方法是以数据为中心的。我的意思是,首先决定如何存储您的数据,然后 SQL 客户端将能够获得他们需要的东西。

SOLR 以不同的方式工作:为了更准确地确定您的模式,您应该了解您的搜索要求(即查询)。该模式不是通用的(如数据库),而是根据搜索要求分层。这就是为什么您可以索引属性或不索引的原因,决定哪种分析需要特定字段,多值,单值,词干等等等

所以基本上,这都是关于非规范化和查询要求的。

于 2013-08-23T06:12:34.117 回答