分布式搜索引擎ElasticSearch(插入数据及java api 二)

通过Aggregation来分组查询:

  

SearchResponse response = client.prepareSearch(INDEX_DOUBAN).setTypes(TYPE_DOUBAN)
  .addAggregation(
      AggregationBuilders.terms("by_"+tag).field(tag).size(1000)
              )

.execute().actionGet();

Terms terms = response.getAggregations().get("by_"+tag);
for(Bucket b:terms.getBuckets()){
// Sum sum = b.getAggregations().get("sum");
list.add((String) b.getKey());
//System.out.println("filedname:"+b.getKey()+" docCount:"+b.getDocCount());
}

这里要注意的是:返回数量不是和之前一样setSize(),而是要设置AggregationBuilders的size才行;其次:对于非数字和英文的字段,这样的组合查询默认会进行分词处理,所以要用mapping来设置字段的分词与否,这部分后面详细叙述。

时间: 2024-10-18 12:02:12

分布式搜索引擎ElasticSearch(插入数据及java api 二)的相关文章

分布式搜索引擎Elasticsearch安装配置

分布式搜索引擎Elasticsearch 介绍 Elasticsearch是一个基于Lucene的开源分布式搜索引擎,具有分布式多用户能力.Elasticsearch是用java开发,提供Restful接口,能够达到实时搜索.高性能计算:同时Elasticsearch的横向扩展能力非常强,不需要重启服务,基本上达到了零配置.但是目前来说相关资料很少,同时版本更新很快,bug存在,API繁多并且变化. 概念和设计 索引 索引(index)是Elasticsearch存放数据的地方.如果你熟悉关系型

一个开源的分布式搜索引擎---Elasticsearch(未完待续)

今天给大家介绍一个开源的分布式搜索引擎Elasticsearch. 一.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎, 基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache 许可条款下的开放源码发布,是第二最流行的企业搜索引擎.设计用于云计算中,能够达到实时搜索, 稳定,可靠,快速,安装使用方便. 我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的.我们希望我们的

ubuntu12.04+kafka2.9.2+zookeeper3.4.5的分布式集群安装和demo(java api)测试

博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! --------------------------------------- 目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读 一.什么是kafka? ka

kafka2.9.2的分布式集群安装和demo(java api)测试

目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读   一.什么是kafka? kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB). kafka目

mongoDB 插入数据 用java实现

import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.Mongo; /**  * 用java 往mongoDB插入数据  * @author wwd *  */ public class InsertD

分布式搜索引擎Elasticsearch的简单使用

官方网址:https://www.elastic.co/products/elasticsearch/ 一.特性 1.支持中文分词 2.支持多种数据源的全文检索引擎 3.分布式 4.基于lucene的开源搜索引擎 5.Restful api 二.资源 smartcn, 默认的中文分词 :https://github.com/elasticsearch/elasticsearch-analysis-smartcn mmseg :https://github.com/medcl/elasticsea

ElasticSearch logo 分布式搜索引擎 ElasticSearch

原文来自:http://www.oschina.net/p/elasticsearch Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引. ElasticSearch 提供多种语言的客户端 API: Java API — 1.x —  other versions JavaScript API — 2.4 —  other versions

kafka2.9.2的伪分布式集群安装和demo(java api)测试

1.什么是kafka? kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB). kafka目前支持多种客户端语言:java,python,c++,php等等. kafka集群的简要图解如下,producer写入消息,consumer读取消息

分布式搜索引擎Elasticsearch PHP类封装 使用原生api

<?php class ElasticSearch { public $index; function __construct($server = 'http://localhost:9200'){ $this->server = $server; } function call($path, $http = array()){ if (!$this->index) throw new Exception('$this->index needs a value'); return