在使用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(简称ES)是一种基于Lucene的开源搜索引擎,它在全文搜索、分析和实时数据存储方面具有出色性能。作为NoSQL数据库的一种,Elasticsearch设计之初的目标就是实现分布式、可扩展且具有高可用性的搜索...
Elasticsearch是一个强大的开源搜索引擎,基于Java开发,其核心功能是全文检索,但同时也支持结构化数据、非结构化数据的检索。它以其高可扩展性、实时性、分布式处理能力以及灵活的数据模型赢得了广大用户的青睐。...
1. **集群概览**:通过Elasticsearch-head,你可以查看整个集群的状态,包括节点数量、索引列表、文档计数、存储空间等基本信息。 2. **索引管理**:可以创建、删除索引,查看索引的设置,包括映射(mapping)、...
Elasticsearch(简称ES)是一款基于Lucene的开源、分布式、全文搜索引擎,它以其强大的搜索能力、高可扩展性和实时性赢得了广大用户的青睐。在1.6.2这个版本中,Elasticsearch已经具备了相当成熟的功能和优化,下面...
在Elasticsearch中,数据以文档的形式存在,每个文档都包含一系列字段(Fields)。索引则类似于数据库中的表,用于存储相同类型的数据。通过`PUT`或`POST`请求将文档存入指定索引,而`GET`请求可检索文档。 ### 4. ...
每个索引可以包含一个或多个类型(types),尽管在最新的Elasticsearch版本中,类型已被逐步淘汰,推荐将整个索引视为一种类型。在这个示例中,"shakespeare.json"可能代表一个索引,其中包含了多种不同类型的数据,...
1. 分布式:Elasticsearch 可以在多台服务器上运行,形成一个集群,数据分布在整个集群中,提供高可用性和容错性。 2. 文档(Document):Elasticsearch 存储的基本单位是文档,类似于 JSON 对象,包含多个字段...
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. **分片与复制**:为了实现高可用性和水平扩展,...
7. **映射(Mapping)**:在Elasticsearch中,映射定义了文档字段的数据类型和分析规则。这有助于确保正确地索引和搜索数据。 8. **搜索和分析**:Elasticsearch提供强大的全文搜索、聚合和分析功能。它支持复杂的...
除了基本操作,Elasticsearch 还提供了诸如脚本字段、自定义分词器、倒排索引优化、滚动搜索、多索引操作等高级功能。在实际开发中,你可能需要深入学习这些内容以提升应用性能和用户体验。 总的来说,这个 MAVEN ...
5. **聚合分析**:Elasticsearch 5.1 提供了丰富的聚合功能,如术语聚合(Term Aggregation)、统计聚合(Statistical Aggregation)和桶聚合(Bucket Aggregation),用于对数据进行深度分析和可视化。 6. **脚本...
Elasticsearch是一个开源的全文搜索引擎,它以其高效、可扩展和分布式特性在IT行业中广泛应用,尤其是在日志分析、实时搜索和大数据分析等领域。最新版的Linux版本为`elasticsearch-8.1.1-linux-x86_64.tar.gz`,这...
4. **缓存(Cache)**: 利用 Elasticsearch 内置的查询结果缓存和字段数据缓存,加快查询速度。 5. **热温冷数据分离**: 对于不同访问频率的数据,可以使用不同的索引策略,将热点数据保存在更快的存储介质上。 **...
9. **插件支持**:Elasticsearch 社区提供了大量插件,如 Kibana(可视化工具)、Logstash(日志收集工具)和 Beats(轻量级数据发送者)等,它们可以增强 Elasticsearch 的功能并简化整个 ELK(Elasticsearch, ...
Elasticsearch(ES)是一种基于 Lucene 的分布式、开源的全文搜索引擎,设计用于处理海量数据,具有实时分析、高可用性和可扩展性。它不仅是一个搜索引擎,还被广泛应用于日志分析、监控、安全分析等多个领域。本...