Elasticsearch
文章平均质量分 97
打怪的蚂蚁
这个作者很懒,什么都没留下…
展开
-
ElasticSearch 相关问题汇总
1、ElasticSearch Mapping问题问题现象:分析定位:ElasticSearch在创建index索引时,若不指定mapping字段的类型,elasticsearch本身会自动探测字段类别并创建默认mapping。由于“upsertTime”之前是yyyy-mm-dd格式,并且没有指定mapping字段类别,es自动创建默认date类别,现在数据修改为yyyy原创 2016-08-12 17:00:24 · 696 阅读 · 0 评论 -
Elasticsearch5-启动检查(Bootstrap Checks)
在Elasticsearch启动时,会对重要的配置进行检查,在不同的模式下,es会进行不同的提示:- 开发模式下es将错误信息打印到日志中(warnning)- 在生产环境下,es会直接启动报错,启动不了!## 开发模式 vs. 生产模式默认情况下,Elasticsearch是绑定到本机(network.host: 127.0.0.1),这样es可以进行正常的开发和使用!但是在生产转载 2017-12-12 14:34:59 · 6768 阅读 · 0 评论 -
Elasticsearch5.3.1 IK分词,同义词/联想搜索设置
--题外话:最近发现了一些问题,一些高搜索量的东西相当一部分没有价值。发现大部分是一些问题的错误日志。而我是个比较爱贴图的。搜索引擎的检索会将我们的博文文本分词。所以图片内容一般是检索不到的,也就是说同样的问题最好是帖错误代码,日志,虽然图片很直观,但是并不利与传播。希望大家能够优化一部分博文的内容,这样有价值的东西传播量可能会更高。本文主要是记录Elasticsearch5.3.1 IK转载 2017-12-12 14:23:14 · 839 阅读 · 0 评论 -
Elasticsearch5.x Head插件安装
在5.0版本中不支持直接安装head插件,需要启动一个服务。由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)1、安装Node.js官网nodejs,https://nodejs.org/en/download/wget https://nodejs.org/dist/v6.10.2/转载 2017-12-12 11:14:02 · 4089 阅读 · 0 评论 -
索引的本质是排序
索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也不尽人意。那么到底什么时候该用索引以及该怎么用?我们来分析索引清理背后的技术原理就知道了。基本原理索引技术的初衷是为了快速从一个大数据集中找出某个字段等于确定值(比如按身份证号找出某个人)的记录。一个规模(行数)为N的数据集,用遍历查找则需要比较N次,转载 2017-09-06 10:54:13 · 5350 阅读 · 4 评论 -
elasticsearch源码分析之Rest/RPC 接口解析(八)
一些基础知识早先ES的HTTP协议支持还是依赖Jetty的,现在不管是Rest还是RPC都是直接基于Netty了。另外值得一提的是,ES 是使用Google的Guice 进行模块管理,所以了解Guice的基本使用方式有助于你了解ES的代码组织。ES 的启动类是 org.elasticsearch.bootstrap.Bootstrap。在这里进行一些配置和环境初始化后会启动转载 2017-04-12 15:42:14 · 1836 阅读 · 0 评论 -
elasticsearch源码分析之discovery(七)
Discovery模块概述elasticsearch中的Discover模块,这个模块主要是发现模块负责发现集群中的节点,以及选取主节点。用作处理elasticsearch中的集群问题,是elasticsearch中比较复杂的一个模块。 discovery有几类:Azure discovery(类似于多播),它可作为插件使用。EC2 discovery,作为插件使用。Googl转载 2017-04-12 15:15:50 · 1258 阅读 · 0 评论 -
elasticsearch源码分析之Gateway(六)
一、es数据文件我们将探讨由es系统各个部分写入的目录文件,分别从broker(master)和node(data)的结构文件进行介绍,并给其一个简短说明。其实在Elasticsearch中生成的数据文件一般来说主要有三种,分别是state、index和translog,后两种想必大家也都知晓,那么state主要就是Gateway存储数据的文件。Gateway模块用于存储es集群的转载 2017-04-12 15:14:16 · 588 阅读 · 0 评论 -
elasticsearch源码分析之Transport(五)
一、基本介绍1.1概念介绍transport模块是es通信的基础模块,在elasticsearch中用的很广泛,比如集群node之间的通信、数据的传输、transport client方式的数据发送等等,只要数和通信、数据传输相关的都离不开transport模块的作用。transport模块分为LocalTransport和NettyTransport两种,在Transpo转载 2017-04-12 14:37:07 · 1083 阅读 · 0 评论 -
elasticsearch源码分析之服务端(四)
上篇博客说明了客户端的情况,现在继续分析服务端都干了些啥,es是怎么把数据插进去的,此处以transport的bulk为入口来探究,对于单个document的发送就忽略了。一、服务端接收1.1接收消息在客户端分析中已经提到,netty中通信的处理类是MessageChannelHandler,其中messageReceived方法用来处理消息。1.1.1解析数据流转载 2017-04-12 14:24:57 · 696 阅读 · 0 评论 -
elasticsearch源码分析之客户端(三)
与es通信有三种protocol分别是node、http和transport;其实对于其他client而言最终都是使用的http;而Java是可以使用node和transport的,node方式一般很少用,此处我们只讨论transport client,采用bulk方式。一、客户端初始化1.1生成settings对象代码很容易看懂,初始化了一些基本信息,生成转载 2017-04-12 11:29:58 · 542 阅读 · 0 评论 -
elasticsearch源码分析之启动过程(二)
最近开始广泛的使用elasticsearch,也开始写一些Java代码了,为了提高java代码能力,也为了更加深入一点了解elasticsearch的内部运作机制,所以开始看一些elasticsearch的源码了。对于这种广受追捧的开源项目,细细品读一定会受益匪浅,所以我会尽可能地细分成很多部分,下面我们从启动过程开始!首先从main开始,从start脚本可以看出,从org.elastic转载 2017-04-12 11:26:51 · 370 阅读 · 0 评论 -
elasticsearch源码分析之使用Guice进行依赖注入与模块化系统(一)
elasticsearch使用google开源的依赖注入框架guice,这个项目号称比spring快100倍,具体性能没有测试过,不过由于其代码比较简洁,比spring快很有可能,是不是快那么多就不知道了。先介绍下guice的基本使用方法。elasticsearch是直接把guice的源码放到自己的包内(es把很多开源项目的代码都直接集成到自己项目中,省得依赖一堆的jar包,也使es的jar包转载 2017-04-12 11:24:24 · 589 阅读 · 0 评论 -
Elasticsearch之client源码简要分析
问题让我们带着问题去学习,效率会更高1 es集群只配置一个节点,client是否能够自动发现集群中的所有节点?是如何发现的?2 es client如何做到负载均衡?3 一个es node挂掉之后,es client如何摘掉该节点?4 es client node检测分为两种模式(SimpleNodeSampler和SniffNodesSampler)原创 2017-03-25 11:44:35 · 1654 阅读 · 0 评论 -
mongodb-river-elasticsearch源码解析
MongoDBRiverPluginMongoDBRiverPlugin类是插件注册类,它继承自AbstractPlugin,其功能是1. 在RiverModule中注册一个MongoDBRiver2. 在RestModule中注册一个RestMongoDBRiverAction[java] view plain copy原创 2017-04-08 14:31:39 · 368 阅读 · 0 评论 -
SQL for ElasticSearch—Crate.io简介
再次调研这个东西,是为了满足下面的需求:一张拥有50+字段的表,记录数大概5亿-10亿;需要对每个字段进行模糊搜索,并要求即时响应结果;需要做一些简单的聚合统计;看到这个需求,肯定想到搜索,那么就是ElasticSearch了。但ES对SQL支持太弱了,因此想使用CrateDB。CrateDB是什么 CrateDB是一个开源的分布式数据库:底层基于E转载 2017-02-13 21:39:14 · 5836 阅读 · 0 评论 -
Elasticsearch—记录一次mapping field修改过程
本文记录一次Elasticsearch mapping field修改过程团队使用Elasticsearch做日志的分类检索分析服务,使用了类似如下的_mapping1234567891011121314{ "se转载 2017-12-12 14:36:02 · 3525 阅读 · 0 评论