本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sichunli_030
- sam123456gz
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
用elasticsearch聚合函数实现distinct查询
1.等价的sql
SELECT DISTINCT field1,field2 FROM test_index.test_type
等价于
SELECT field1,field2 FROM test_index.test_type GROUP BY field1,field2
2.而group by的查询,在es中我们可以用Aggregation(聚合)去实现,等价的DSL查询语 ...
elasticsearch 源码分析(一)
工作中经常使用es,所以想研究一下es的源码,常用的es版本为2.1.0,所以此系列以2.1.0为准
1、下载源码
网址:https://github.com/elastic/elasticsearch,选 ...
ElasticSearch里面一些小坑笔记
最近线上的es报了一个异常,核心信息如下:
No mapping found for [k1.k2.time] in order to sort on
我们的es索引是嵌套索引,上面的这个异常大致意思是说在某个shard里面嵌套结构里面
k1.k2.time这个字段不存在数据,所以排序失败。
我们知道在ES里面可以分shard和索引,大多数时候我们es索引都是自动按某个规则 ...
区分ElasticSearch中的Mapping和Type
区分mapping和type
理解:在同一个index中,不同type但相同名称的field,必须具有相同的mapping
而mapping定义了文档中的每一个field如何被索引和被查询到。
区别:
(1)type(类型)是索引的逻辑分区(类似tenant)。在索引中,可以定义一个或多个类型。
Type由名称和Mapping组成,type表示一类相似的document。
(2)Map ...
ElasticSearch的一些删除用法笔记
前面关于es的文章基本上都是添加,修改,更新操作,删除的例子仅仅有根据id删除单条数据的。但作为一个重度使用es的用户,我们肯定得了解所有相关删除操作的命令,才能更加方便的使用和维护es。
通常情况下,删除操作是非常敏感的,这一点不论在关系型数据库,还是nosql数据库都是同样的道理。在es里面也是如此,虽然es大部分时候都是读多写少的系统。
在es里面常用的删除需求,通常如下:
...
elasticsearch个性化搜索推荐排序插件
elasticsearch 插件地址
https://coding.net/u/bywei/p/elasticsearch-feature-scoring/git
使用案例
你可以使用这个插件来计算两个特征,如相关性得分:
个性化搜索;
寻找类似产品;
产品推荐;
最近工作中遇到ElasticSearch一些问题总结
最近在使用ElasticSearch来查询我们的一些实时数据,中间也遇到不少的问题,今天在此简单总结记录一下。es的功能的确十分强大,大部分数据库能实现的需求,基本在es里面都能实现,当然两者都有一些特殊的功能,是双方不能实现或者不容易实现的。
案例一:
es单个字段分组后,分页是个小坑,因为分组结果里面,只提供了size来限制返回,并没有类似offset和limit的参数来支持分页,所 ...
ElasticSearch里面如何分组后根据sum值排序
ElasticSearch里面的聚合机制非常灵活和强大,今天我们来看下如何在ElasticSearch里面实现分组后,根据sum值进行排序?类似的数据库SQL如下:
select id,sum(c1) as c1 , sum(c2) as c2 from table1 group id order by c1 desc, c2 asc
这是一个比较常见的统计需求,在es ...
Elasticsearch API
1. Client
说明:Client是Elasticsearch所有API的主入口,主要方法有:
AdminClient admin() 获取ES管理客户端 GetRequestBuilder prepareGet()准备一个GET请求 IndexRequestBuilder prepareIndex(String index, String type)准备一个新增文档的请求 DeleteR ...
映射和分析
映射Elasticsearch中的mapping(映射)对应数据库中的表结构GET /gb/_mapping/tweet返回:
{
"gb": {
"mappings": {
"tweet": {
"properties": {
...
分布式集群
Elasticsearch的分布式处理对用户来说是完全透明,你可以不关心它具体的实现就可以使用它,本章节中将对它进行大致的介绍三个概念
集群(cluster):ES服务器的部署集群,一个集群由一个或多个节点构成
节点(node):具有相同cluster.name的ES服务组成一个节点
分片(shard):存储索引数据的空间,一个节点可以存在一个或多个分片
集群健康集群健康是用来监控整 ...
spark on yarn 如何集成elasticsearch
随着spark越来越流行,我们的很多组件都有可能和spark集成,比如说spark处理完的数据写入mysql,redis,或者hbase,elasticsearch,spark本身不包含db的依赖的,这就需要自己解决依赖的jar包,这里大致有两种处理思路处理依赖问题:
(1)使用maven将整个依赖打成一个fat的jar,这样所有的依赖都会在一个jar包,这样的好处就是一个jar包包含所有依赖,不 ...
(转)elasticsearch堆内存:大小和交换
堆内存:大小和交换
Elasticsearch 默认安装后设置的堆内存是 1 GB。对于任何一个业务部署来说,这个设置都太小了。如果你正在使用这些默认堆内存配置,您的集群可能会出现问题。
这里有两种方式修改 Elasticsearch 的堆内存。最简单的一个方法就是指定 ES_HEAP_SIZE 环境变量。服务进程在启动时候会读取这个变量,并相应的设置堆的大小。比如,你可以用下面的命令设置它: ...
(转)elasticsearch重要配置的修改
重要配置的修改
Elasticsearch 已经有了 很好 的默认值,特别是涉及到性能相关的配置或者选项。 如果你有疑问,最好就不要动它。我们已经目睹了数十个因为错误的设置而导致毁灭的集群, 因为它的管理者总认为改动一个配置或者选项就可以带来 100 倍的提升。
Note
请阅读整节文章,所有的配置项都同等重要,和描述顺序无关,请阅读所有的配置选项,并应用到你 ...
elasticsearch-rails elasticsearch-model的使用
重新创建索引:
Product.__elasticsearch__.create_index! force: true
创建、更新、删除索引:
Product.first.__elasticsearch__.index_document
Product.first.__elasticsearch__.update_document
Product.first.__elasticsearch_ ...