`
eksliang
  • 浏览: 599565 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Solr Grouping / Field Collapsing(分组查询)

    博客分类:
  • solr
阅读更多

Solr Grouping / Field Collapsing(分组查询)

转载请出自出处:http://eksliang.iteye.com/blog/2169458

http://eksliang.iteye.com/

一、概述

      分组统计查询不同于分组统计(Facet),facet只是简单统计记录数,并不能为每组数据返回实际的数据回来,solr提供的grouping查询能够解决这一问题,也就是说,他除了能分组外,还能把每组数据返回来。

 

二、语法简介

参考实例一

查询参数如下:

 q=*:*
 &group=true
 &group.field=price

 返回结果如下:

 

 Solr Grouping参数列表

参数 参数含义
group (true/false) 是否开启分组查询
group.field group字段,通过在请求中加入group.field参数加以声明,如果需要对多个字段进行group by,那么该参数可以声明多次
group.query 可以对任意条件进行分组统计查询
group.limit 返回的数据的条目,默认为1 3
group.offset 偏移量,跟上面的group.limit一起可以达到分页的效果
group.sort 排序
group.main (true/false)等于true,将只返回最后一个group.query查询的分组数据,一定是最后一个group.query,如果最后的条件是group.field,也没有效果,同时其他分组统计条件都会失去作用

       

三、参考实例

 参考实例一:group.field多个字段同时一起做分组统计查询演示,查询参数如下所示

q=*:*
&group=true
&group.field=price
&group.field=brand
&rows=2

 返回结果如下所示:



 

参考实例二:group.query自定义条件统计演示,请求参数如下所示

  q=*:*
  &group=true
  &group.query=price:[0 TO 3000]
  &group.query=price:[2000 TO *]
  &group.limit=2 

 返回结果如下所示:


 

参考实例三:group.main参数演示,请求参数如下所示

q=*:*
&group=true
&group.query=price:[0 TO 3000]
&group.query=price:[2000 TO *]
&group.field=price
&group.main=true

 返回结果如下所示:


 

参考实例四:group.main参数演示,请求参数如下所示

q=*:*
&group=true
&group.field=price
&group.main=true
&rows=1

 返回结果如下所示,可以看到其他group统计条件都会失去作用因为加了group.main=true

<response>
 <lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">2</int>
  <lst name="params">
  <str name="q">*:*</str>
  <str name="group.field">price</str>
  <str name="group.main">true</str>
  <str name="group">true</str>
  <str name="rows">1</str>
 </lst>
 </lst>
 <result name="response" numFound="9" start="0">
  <doc>
   <str name="id">a001</str>
   <str name="brand">联想</str>
   <float name="price">1100.0</float>
   <date name="birthday">2014-11-06T09:15:00Z</date>
   <str name="remark">联想A001</str>
   <long name="_version_">1487193657358417920</long>
  </doc>
 </result>
</response>

 

 

  • 大小: 14.4 KB
  • 大小: 16.7 KB
  • 大小: 19 KB
  • 大小: 20.6 KB
分享到:
评论

相关推荐

    Solr in action.mobi

    PART 1 MEET SOLR. .................................................................1 1 ■ Introduction to Solr 3 ...11 ■ Result grouping/field collapsing 330 12 ■ Taking Solr to production 356

    ikanalyzer-solr5/6

    在Solr中集成IK Analyzer,可以优化中文文档的索引和查询性能。 1. 安装IK Analyzer 首先,需要下载 IK Analyzer 的最新版本,解压后将`lib`目录下的jar包添加到Solr的`server/solr-webapp/webapp/WEB-INF/lib`...

    配置好的solr启动环境

    Solr,全称为Apache Solr,是一款开源的全文搜索引擎,被广泛应用于企业级搜索解决方案中。它基于Java,能够高效地处理大量数据的检索、排序和过滤等任务。在这个“配置好的solr启动环境”中,我们有一个预先配置好...

    solr/ext/ 里面的jar包

    For more information, see: http://wiki.apache.org/solr/SolrLogging 原因,可能是你的solr服务器版本问题, 1、下载最新的solr包,比如:solr-5.3.1.zip 2、解压后找到,ext文件夹,把这个文件夹下面的所有jar...

    Solr分组统计

    在Solr中,分组统计(Grouping)是一种强大的功能,它允许用户基于某个字段对搜索结果进行分组,以便更好地理解和分析数据。分组统计可以提供每个分组内的文档数量,或者根据特定查询对每个分组进行进一步的过滤。 ...

    在tomcat环境下搭建solr3.5和mmseg4j搜索引擎

    &lt;Environment name="solr/home" type="java.lang.String" value="D:/solr/apache-solr-3.5.0/example/solr" override="true" /&gt; &lt;/Context&gt; ``` - 上述配置指定了Solr应用的基本位置以及其运行时的home目录。 4...

    solr -8.11.1.zip 文件

    solr -8.11.1.zip 文件

    基于Solr的多表join查询加速方法

    - **查询设计**:通过调整查询语句的结构,如使用“exists”查询或“join”查询,以适应Solr的查询机制,提升性能。 - **硬件和架构优化**:例如,增加Solr服务器的内存,使用SSD硬盘提升I/O速度,或者采用更高效的...

    solr 的使用及安装

    1. **基本查询**:通过 Solr 的 RESTful API 发送 GET 请求,如 `http://localhost:8983/solr/my_core/select?q=title:example`。 2. **高级查询**:利用 Solr 的查询语法,支持布尔运算符、通配符、短语匹配等。 3....

    solr4.9与tomcat8,tomcat7整合

    - 创建一个新的`solr`文件夹作为Solr的home目录,然后将`solr-4.9.0/example/solr`目录下的所有内容复制到这个新创建的`solr/home`目录中。 - 将`solr-4.9.0/example/lib/ext`目录下的所有jar包复制到Tomcat的`...

    solr的增删改查和高亮以及分组

    本文将深入探讨Solr 3.6版本中的核心功能:增删改查(CRUD)操作,高亮显示,以及分组查询。 ### 1. Solr的增删改查操作 #### 1.1 创建(Create) 在Solr中,创建文档通常涉及到定义一个XML或JSON格式的文档结构...

    解决solr启动404问题

    描述中提到,你需要修改`wen.xml`中的`solrhome`路径,但默认情况下,Solr的配置文件应该是`server/solr/solr.xml`。在这个文件中,你应找到类似`&lt;solr persistent="true"&gt;`的元素,里面包含各个核心的配置。确保这...

    solr4.7服务搭建

    &lt;tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/&gt; &lt;filter class="solr.LowerCaseFilterFactory"/&gt; &lt;/...

    java solr solrj 带账号密码增量查询添加索引

    主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询

Global site tag (gtag.js) - Google Analytics