【问题标题】:Using solr for indexing different types of data使用 solr 索引不同类型的数据
【发布时间】:2010-11-03 06:11:44
【问题描述】:

我正在考虑在一个新项目中使用Apache solr 来索引数据。数据由不同的、独立的类型组成,这意味着例如有

  • 植物药
  • 动物
  • 汽车
  • 电脑

索引。我应该为每种类型使用不同的索引还是只使用一个索引更有意义?使用多个索引如何影响性能? 或者还有其他可能实现这一目标吗?

谢谢。

【问题讨论】:

    标签: indexing lucene solr


    【解决方案1】:

    两者都是合法的方法,但需要权衡取舍。首先,你的数据集有多大?如果它足够大,您可能希望在多个服务器上对其进行分区,那么使用不同的索引可能是有意义的。

    其次,性能有多重要 - 将它们全部编入索引可能会导致性能下降,但程度取决于数据量和查询的复杂程度。

    第三,您是否需要在同一个搜索中查询多种数据类型?如果是这样,将所有内容索引在一起可能是一种方便的方法。从技术上讲,这可以通过单独的索引来实现,但是获得与查询最相关的结果可能是一个挑战(不是现在还没有)

    第四,具有单一架构和配置的单一索引可以简化部署和维护系统的任何人的生活。

    要考虑的另一件事是 ID - 所有不同的对象是否在所有类型中都具有唯一标识符?如果没有,如果您想将它们一起编入索引,您可能需要生成它。

    【讨论】:

    • 感谢您的回答。我想,我真的必须坚持使用多个索引,因为在一个索引中生成唯一标识符对我来说会是一团糟。我玩弄了 solr 索引分布和使用分片,但它们显然是为了加快对大型数据集的查询。我认为五个甚至更多核心不是它应该的使用方式。所以我目前的想法是只使用没有 solr 的 Lucene。
    • 我有一个问题。我们有接近 10 个应用程序(每个应用程序大约有 10000 行数据,有 10 列;一两列将是大 txt 字段),我们还想索引共享驱动器中的所有文档,这可能是 5000 字/pdf文档)。我们希望创建一个全局搜索,您可以在其中搜索您想要的任何内容,结果可以按构面(应用程序)或修改的日期范围过滤器等进行分类。我们还将在每个用户可以搜索的单个应用程序中使用此搜索txt 和其他字段,如修改日期、修改用户等。这两种方法哪个更好?
    • 从我所做的研究来看,人们似乎拥有超过 10 个核心并且他们正在管理它们(我不知道做得如何)。这是link
    猜你喜欢
    • 1970-01-01
    • 2019-07-09
    • 2011-03-03
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 2015-12-23
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多