Datastax Search / Solr中的分组和计数(*)

Posted

技术标签:

【中文标题】Datastax Search / Solr中的分组和计数(*)【英文标题】:Group by and Count(*) in Datastax Search/Solr 【发布时间】:2020-05-19 02:07:26 【问题描述】:

您好,我们有一个 solr 索引,其中包含不同的字段,例如 business、businessType、regionName、StateName .....

现在我需要一个 solr 查询来按 regionName 获取 businessType ='event' 组类型的业务数量。

如果我想为此编写一个 sql 查询,那就是select region_name , Count(business) from solr where businessType='event' group by region_name

任何指针都会有帮助

【问题讨论】:

使用构面。您的 solr 查询将如下所示:q=*:*&fq=businessType:event&facet=true&facet.field=region_name&rows=0。 不,它工作得很好..我需要说的是例如我们有 A 区,23 个事件.. B 区,21 个事件.. 上述查询的方面响应中返回的内容与您的预期有什么区别?它应该为您提供与您的 SQL 语句相同的结果,提供 region_name 字段是纯字符串字段(并且未标记化或进一步处理)。 它没有返回我该地区的企业数量。我需要的是任何地区的地区计数 考虑到您给出的 SQL 查询,结果应该是匹配的。澄清一下,您需要在每个地区的业务类型为事件的业务计数。考虑到我给出的这个查询应该可以工作。 【参考方案1】:

使用构面。您的 solr 查询将如下所示:q=:&fq=businessType:event&facet=true&facet.field=region_name&rows=0

如果要对多个字段进行分组,那么我们需要执行 facet.pivot=state,region_name

【讨论】:

以上是关于Datastax Search / Solr中的分组和计数(*)的主要内容,如果未能解决你的问题,请参考以下文章

Datastax solr:Cassandra 现在将刷新到两个最大的内存表以释放内存

在 datastax 图中使用 gremlin 访问 Solr 的最佳方法

无法使用 cassandra datastax 生成 solr 架构

使用 datastax 进行错误的 SOlr 索引。从 1 个节点扩展到 2 个 cassandra 节点和 1 个搜索节点

在 Datastax Solr 中创建的 Banana 中加载多个内核

在 Solr Admin 中显示为 0 的 Numdocs