如何在SOLR中管理两个不同的实体?

时间:2011-09-29 17:09:33

标签: java solr search-engine

我想在SOLR中索引几个不同的实体,例如:

  1. 用户
  2. 产品
  3. 博客
  4. 所有模式都完全不同。
    所有都在我的应用程序中的不同位置搜索 有没有办法在同一个核心中做到这一点?这是正确的方法吗? 核心是关系数据库中表的概念等价(在这种情况下答案很明显)。

2 个答案:

答案 0 :(得分:1)

确实取决于您将如何搜索此数据。主要问题是:您要搜索什么?

如果要搜索产品(即搜索结果是产品),则设计产品周围的架构。如果您按用户或博客搜索产品,请将用户/博客建模为动态/多值字段。

如果您有一个搜索产品的应用和另一个搜索博客的应用,并且它们完全不相关,请将它们放在不同的核心中。

来自Solr wiki

  

您在一个字段或一个索引中拥有的异构(不同类型的数据)越多,它就越不实用。

所以不要盲目地将所有内容放在一个核心中。仔细考虑您的搜索方案是什么。

答案 1 :(得分:0)

以下是Solr Wiki对Flattening Data into a Single Index的一些指导。平坦化数据的关键是:

  
    

这种方法尤其适用于需要从概念上不同的文档集“混合”结果的情况。

  

如果要对三种类型建立索引并使它们保持独立和不同,可以利用Solr中的Core使它们保持相当隔离,但允许您在一个Solr容器下管理它们。