在使用terms facets时,经常想统计一个整个字段的值出现了多少次.如果用下面的消息发送请求:
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "content",
"query": "风暴"
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 50,
"sort": [],
"facets": {
"sd3560531facet": {
"terms": {
"field": "siteName",
"all_terms": true
}
}
}
}
得出的统计结果是:
facets: {
province: {
_type: terms
missing: 0
total: 18
other: 0
terms: [
{
term: 区
count: 4
}
{
term: 论
count: 3
}
{
term: 讨
count: 3
}
{
term: 战
count: 2
}
{
term: 场
count: 2
}
{
term: 风
count: 1
}
{
term: 综
count: 1
}
{
term: 纪
count: 1
}
{
term: 合
count: 1
}
{
term: 本
count: 0
}
]
}
默认统计的是每个字出现的次数.不符合实际应用要求.
重新修改消息请求如下:
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "content",
"query": "风暴"
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 50,
"sort": [],
"facets": {
"sd3560531facet": {
"terms": {
"script_field": "_source.siteName",
"all_terms": true
}
}
}
}
得出的结果为:
facets: {
province: {
_type: terms
missing: 0
total: 4
other: 0
terms: [
{
term: 战场讨论区
count: 2
}
{
term: 风纪区
count: 1
}
{
term: 综合讨论区
count: 1
}
]
}
}
表示符合条件的4条记录中,siteName字段里,战场讨论区有两条,风纪区有1条,综合讨论区有一条.
分享到:
相关推荐
Elasticsearch是一个强大的开源搜索引擎,基于Java开发,其核心功能是全文检索,但同时也支持结构化数据、非结构化数据的检索。它以其高可扩展性、实时性、分布式处理能力以及灵活的数据模型赢得了广大用户的青睐。...
Elasticsearch(简称ES)是一种基于Lucene的开源搜索引擎,它在全文搜索、分析和实时数据存储方面具有出色性能。作为NoSQL数据库的一种,Elasticsearch设计之初的目标就是实现分布式、可扩展且具有高可用性的搜索...
1. **集群概览**:通过Elasticsearch-head,你可以查看整个集群的状态,包括节点数量、索引列表、文档计数、存储空间等基本信息。 2. **索引管理**:可以创建、删除索引,查看索引的设置,包括映射(mapping)、...
Elasticsearch(简称ES)是一款基于Lucene的开源、分布式、全文搜索引擎,它以其强大的搜索能力、高可扩展性和实时性赢得了广大用户的青睐。在1.6.2这个版本中,Elasticsearch已经具备了相当成熟的功能和优化,下面...
- **删除**:介绍了如何删除Elasticsearch中的文档或整个索引。 - **修改**:讨论了更新Elasticsearch中现有文档的不同方式,包括局部更新和完全替换等。 - **Search**:深入探讨了Elasticsearch的搜索功能,包括...
在Elasticsearch中,数据以文档的形式存在,每个文档都包含一系列字段(Fields)。索引则类似于数据库中的表,用于存储相同类型的数据。通过`PUT`或`POST`请求将文档存入指定索引,而`GET`请求可检索文档。 ### 4. ...
### Elasticsearch 1.x Java 教程关键知识点梳理 #### 第一部分:搜索的背景 - **浅谈搜索**:本文档开篇介绍了搜索业务的一般需求,包括但不限于用户体验、搜索速度、准确性等方面的需求,并强调了Elasticsearch ...
每个索引可以包含一个或多个类型(types),尽管在最新的Elasticsearch版本中,类型已被逐步淘汰,推荐将整个索引视为一种类型。在这个示例中,"shakespeare.json"可能代表一个索引,其中包含了多种不同类型的数据,...
1. 分布式:Elasticsearch 可以在多台服务器上运行,形成一个集群,数据分布在整个集群中,提供高可用性和容错性。 2. 文档(Document):Elasticsearch 存储的基本单位是文档,类似于 JSON 对象,包含多个字段...
### Elasticsearch 学习指南 #### 一、Elasticsearch 入门 **1.1 关于 Elasticsearch** Elasticsearch 是一款基于 Lucene 的开源搜索和分析引擎,它提供了分布式、实时的全文搜索功能,并且可以扩展到上百台...
6. **聚合(Aggregations)**:Elasticsearch提供强大的聚合功能,可用于统计分析,如`GET /my_index/_search?size=0&aggs=my_agg{...}`。 现在,让我们关注`es.http`和`es_book.http`这两个文件。它们可能包含了执行...
在 Elasticsearch(ES)中,聚合(Aggregations)是一种强大的数据汇总工具,允许用户对索引中的数据进行分组和统计分析。而“elasticsearch聚合值过滤”是ES聚合功能的一个高级应用场景,它允许我们根据聚合计算出...
Elasticsearch 提供了丰富的功能,包括地理搜索、脚本字段、自定义分析器、聚合分析、机器学习等。其中,聚合分析允许对大量数据进行统计计算,如求平均值、最大值、最小值等;机器学习则可进行异常检测和预测分析。...
Elasticsearch 强大的聚合功能允许用户对结果进行统计分析,如求和、平均值、最大值、最小值等。同时,还可以进行桶聚合(如范围聚合、术语聚合)来按特定条件对结果进行分组。 ### 7. 监控和告警 Elasticsearch ...
3. **动态映射**:Elasticsearch 自动为未知字段创建映射,但有时需手动设置。 4. **更新映射**:当需要修改字段类型时,可以更新映射。 5. **索引模板**:预先定义索引设置和映射,便于批量创建新索引。 ### 四、...
1. **索引与文档**:Elasticsearch中的数据以JSON文档形式存在,这些文档被分配到索引中,每个索引都有自己的映射(mapping),定义了字段的类型和分析规则。 2. **分片与复制**:为了实现高可用性和水平扩展,...
- **Update API**:Elasticsearch提供了一个专门的Update API,用于更新已存在的文档,而不是替换整个文档,从而提高了效率并减少了资源消耗。 - **使用filters优化查询**:Filters是一种特殊的查询类型,它们被...