Solr分组聚合查询之Group
摘要: Solr对结果的分组处理除了facet还可以使用group。Solr的group是根据某一字段对结果分组,将每一组内满足查询的结果按顺序返回。
Group对比Facet
Group和Facet的概念很像,都是用来分组。Facet返回所有相关的结果并允许用户基于facet的目录重新定义结果集。Facet可以对分组数量进行过滤,以及排序,和日期范围,时间范围分组,但是如果你想得到具体的数据,还得需要查询一次或多次。group可以得到分组的组数量,一次请求,可以拿到所有的数据。
Group和Facet可以结合起来使用,但只能使用facet.field
和facet.range
,还不支持日期date和维度统计pivot faceting.
Group参数
参数 | 类型 | 说明 |
---|---|---|
group | 布尔值 | 设为true,表示结果需要分组 |
group.field | 字符串 | 需要分组的字段,字段类型需要时是StrField或TextField |
group.func | 查询语句 | 可以指定查询函数 |
group.query | 查询语句 | 可以指定查询语句 |
rows | 整数 | 返回多少组结果,默认10 |
start | 整数 | 指定结果开始位置/偏移量 |
group.limit | 整数 | 每组返回多数条结果,默认1 |
group.offset | 整数 | 指定每组结果开始位置/偏移量 |
sort | 排序算法 | 控制各个组的返回顺序 |
group.sort | 排序算法 | 控制每一分组内部的顺序 |
group.format | grouped/simple | 设置为simple可以使得结果以单一列表形式返回 |
group.main | 布尔值 | 设为true时,结果将主要由第一个字段的分组命令决定 |
group.ngroups | 布尔值 | 设为true时,Solr将返回分组数量,默认fasle |
group.truncate | 布尔值 | 设为true时,facet数量将基于group分组中匹相关性高的文档,默认fasle |
group.cache.percent | 整数0-100 | 设为大于0时,表示缓存结果,默认为0。该项对于布尔查询,通配符查询,模糊查询有改善,却会减慢普通词查询。 |
Solr分组聚合查询之Group的更多相关文章
- Solr分组聚合查询之Facet
摘要: Solr的分组聚合是一个笼统的概念,目的就是把查询结果做分类,有多种方式可以做到很类似的结果.也正是由于它们的不同表现,可以适合于多种场景. 何为Facet Facet是一种手段,用来将搜索结 ...
- java使用elasticsearch分组进行聚合查询(group by)-项目中实际应用
java连接elasticsearch 进行聚合查询进行相应操作 一:对单个字段进行分组求和 1.表结构图片: 根据任务id分组,分别统计出每个任务id下有多少个文字标题 .SQL:select id ...
- crm使用FetchXml分组聚合查询
/* 创建者:菜刀居士的博客 * 创建日期:2014年07月09号 */ namespace Net.CRM.FetchXml { using System; using Micr ...
- orm分组,聚合查询,执行原生sql语句
from django.db.models import Avg from app01 import models annotate:(聚合查询) ret=models.Article.objects ...
- SQL分组聚合查询练习(SQL Server和Oracle相似)20190514
先建表 CREATE TABLE [dbo].[orderdt_jimmy]( ,) NOT NULL, [order_nid] [int] NOT NULL, ) NOT NULL, [qty] [ ...
- Django对postgresql数据库进行分组聚合查询
action(methods=['GET'], detail=False, url_path='count') def count(self, request): """ ...
- 浅析MySQL使用 GROUP BY 分组聚合与细分聚合
原创文章,转载请注明出处:http://www.cnblogs.com/weix-l/p/7521278.html: 若有错误,请评论指出,谢谢! 1. 聚合函数(Aggregate Function ...
- solr分组排序实现group by功能
http://wiki.apache.org/solr/FieldCollapsing solr分组排序,实现group by功能,代码待添加!
- ElasticSearch 6.2 Mapping参数说明及text类型字段聚合查询配置
背景: 由于本人使用的是6.0以上的版本es,在使用发现很多中文博客对于mapping参数的说明已过时.ES6.0以后有很多参数变化. 现我根据官网总结mapping最新的参数,希望能对大家有用处. ...
随机推荐
- 菜单项onCreateOptionsMenu()和onOptionsItemSelected()的使用
Java源文件 package com.example.macname.myapplication; import android.support.v7.app.AppCompatActivity; ...
- c++ 字符串拷贝以及合并
#include<iostream> #include<string> using namespace std; class stringfun { ]; public: vo ...
- Qt5_TCP_Client01
ZC: 代码来自<<Qt及Qt Quick开发实战精解>>“代码\src\5\5-3”(“代码\src\5\5-4”里面的代码差不多,不知有何差别...貌似应该是更为完善) Z ...
- C# 使用Dictionary、linq实现根据集合里面的字符串进行分组
//对下面集合里面的字符串按照“_”进行分组. List<string> list = new List<string>() { "1_32", " ...
- ThinkPHP 3.2 调用自定义函数库
ThinkPHP3.2 和3.1 区别还是有点大的 引入了命名空间,强化了驱动化和行为,增强了模块化的概念和对云平台的支持,并改进了诸多的细节.主要改进包括:模块化架构的全新设计全新命名空间和自动导入 ...
- voj 1754 spfa
最优贸易 最优贸易 描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个 城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分 ...
- nginx会话保持之sticky模块
nginx会话保持之nginx-sticky-module模块 在使用负载均衡的时候会遇到会话保持的问题,常用的方法有:1.ip hash,根据客户端的IP,将请求分配到不同的服务器上:2.cooki ...
- Linux终端界面屏保
Linux终端界面屏保 在很多Linux使用者的认知里,都认为终端下的Linux操作界面是没有屏保的,只有像windows那样的图形界面下才有屏保.但是其实Linux下也是有屏保的,只不过是ASC ...
- js作用域相关知识总结
以前总是搞不清楚js里面的作用域.块级作用域.预解析,做题总做错,今天彻底搞明白了,来记录梳理一下~ 块级作用域 在其他语言中,任何一对花括号中的语句都属于一个块儿,在这之中定义的所有变量在代码块外都 ...
- 各种liunx发行版本包管理器对比
关于Ubuntu安装软件问题:apt-get和dpkg区别? 两者的区别是dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了, ...