【问题标题】:get data from two different cores in solr从 solr 中的两个不同核心获取数据
【发布时间】:2016-09-15 04:30:31
【问题描述】:

我有两个不同的核心,我想加入并从两个核心获取所有字段,就像 mysql 内部连接一样。

核心产品:

product_id
product_details
author_id

核心作者:

 author_id
    author_name
    author_detail

我需要两个核心的所有字段,并使用author_id 加入。我尝试过加入,但它会从一个核心返回我的数据product 或author,或者需要进行两个查询并组合数据集。

【问题讨论】:

    标签: solr solrj


    【解决方案1】:

    你不能。 Solr 连接无法从连接的两侧检索信息 - 它们只能按另一侧的值进行过滤,而不能检索信息。

    您必须构建适合block joins 的文档,或者进行两个查询 - 首先检索连接一侧的内容,然后获取另一侧匹配的所有文档。这可能是最灵活和最快的解决方案,并且可以很好地扩展(因为在迭代第一组之后,另一个查找只是在连接字段上作为field:(foo OR bar OR baz))。

    第三种选择是将 author_name 和 author_detail 与您的核心产品一起编入索引。只要这些值不存在于一百万个文档中并且每秒都在变化,那么性能就会很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      相关资源
      最近更新 更多