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 个搜索节点