【问题标题】:Solr query to get information from the documentsSolr 查询以从文档中获取信息
【发布时间】:2016-02-03 14:12:22
【问题描述】:

我正在实施 solr。我在 sql server 中有很多表。现在我创建了一个查询,它将为我提供一个平面单个表中所有表的数据,我将插入到 solr 中。这是我拥有的数据 类别有多个包,包有多个资产,现在是 Solr 中单个表的一部分。

solr中唯一的key是categoryid,packsid,assetid 现在在 Solr 中,我需要按类别计算包数。如何在 Solr 中实现这一点?

我需要的是获得具有不同类别和 packid 的所有结果,然后按 categoryid 对其进行分组以获取不同类别中的包数。如何对来自 solr 查询的结果进行分组

这就是我想要的 我有行的集合,其中列是 Categoryid、Packid、Description、ImageUrl ..... 我需要获取 Categoryid 和 Packid 组合的不同行。获得不同的行后,我需要将这些不同的行与 Categoryid、imageurl 和 Description 分组,其中包含 Packid 的计数。

【问题讨论】:

    标签: solr


    【解决方案1】:

    我假设您的 solr id 为 catId、packId 和资产 id。除了 id 中的详细信息之外,您还应该将其作为字段的一部分,并且在非规范化生效的情况下,您可以使用 catId 和 packId 等多个字段进行查询,然后对多个字段进行分面以获得每个组合的计数。您可以使用两个字段进行分面。让我知道这种方法是否能满足您的需求

    【讨论】:

      【解决方案2】:

      如果您使用的是 Solr5,则可以使用 Yonik 在此处详细描述的子刻面:

      http://yonik.com/solr-subfacets/

      如果您使用的是 Solr4 或更低版本(当然还有 5),那么 facets 仍然是可行的方法。您应该首先添加您的请求:

      fq=packid:<the selected id>&facet=true&facet.field=categoryid

      从那里开始,您可以添加标记参数以获取您认为合适的计数。

      https://wiki.apache.org/solr/SimpleFacetParameters 在这个页面上,特别是:tagging and excluding filters

      【讨论】:

      • 非常感谢,我仍然无法从中进行查询。从 categoryid 和 packid 组合的独特字段中,我需要对所有类别进行分组并计算类别中的总包数。
      • 我已经更新了这个问题。我无法正确查询。请指教
      猜你喜欢
      • 2019-07-13
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多