npm config set registry https://registry.npm.taobao.org

npm config get registry
支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
一个异常加上
node.max_local_storage_nodes: 256

ElasticSearch是一个基于Lucence的搜索服务器.
它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.
相比于solr可以使用xml,csv,json等进行交互,ElasticSearch只能用json进行交互;
与lucence和solr创建索引时以一个域名和分词后的其值(组合起来教term)作为索引不同的是,ElasticSearch里静态词意的索引并不针对于term建立索引.而是一个类似数据库的逻辑命名空间;
动态词意上则可以称作将某个文档放到索引里;
再细化后就是Type,可以理解为表.
再细化后就是Document,相当于一行数据(这个倒是跟lucence和solr差不多).
最基础的单元就是field,相当于一列数据.
Shards(分片(每一个分片都是一个luncence实例,是一个完整的搜索引擎,但我们不直接与它通信)),ElasticSearch能自动根据节点的增加动态调整复制分片.这也是为什么说ElasticSearch天生就是分布式的原因之一,
ElasticSearch可以将一个索引分成若干个存到集群中的Node中(分片的数量是在建立索引时就需要确定的,但不用担心节点扩容和缩小的问题,ElasticSearch可以自动根据你的节点数量来迁移分片).

replicas(复制)见其名知其义,就是将索引复制一份或者多份,作为副本(复制单元是分片,本身有算法能保证不会有相同分片在同一个节点上,并且复制分片在主分片没有出问题的情况下,只负责读,读针对于客户端发来的请求以及从其它的分片中读取更新的文档).
在ElasticSearch中映射Mapping不需要定义映射类型,在我们存入第一行json时会自动根据我们存入的数据类型而确定其数据类型.
MasterNode负责整理和管理元信息;
DataNode负责存储和响应数据;
任何一个节点都是一个ElaticSearch实例,任何一个节点都可以接受客户端的请求,并能从元信息中获取到具体数据所在的节点,之后将请求转发到存在文档的对应节点上,之后收集各个节点返回的数据,最后一起返回给客户端;
与ElasticSearch服务端交互的三种方式:
一:节点客户端
ClientNode会作为一个非数据节点加入到集群中,它本身不保存任何数据,但ClientNode拥有元信息,这样当用户发来请求后ClientNode能根据元信息中的索引信息到对应的DataNode节点上进行数据请求;
二:传输客户端
不会加入集群,但可以把请求转发到集群中的一个节点上;
三:使用RESTful API进行交互
这个没什么说的,任何语言都可以使用json通过RESTful API与ElasticSearch服务进行交互.Linux则是通过curl命令(Linux下用来模拟http请求的技术)来进行交互;

ElaticSearch数据格式:
String:text/keyword(这两个的区别在于text会默认进行分词,而keyword则相反)
Number:六种数据类型:byte,short,Integer,long,double,float
data:这个可以自定义,比如,yyyy-MM-dd HH:mm:ss(默认类型为:strict_date_optional_time||epoch_millis)
boolean:布尔值
ip:(ipv4和ipv6都支持)
geo_point:地图坐标
nested:嵌套类型
object:json对象
binary:二进制

ElasticSearch集群分为三个状态,使用/_cluster/health可查询
green:所有主分片和副本分片都正常运行
yellow:不是所有的副本分片都正常,但主分片都正常
red:有主分片不正常并且没有副本分片能替代它(如果某一个主分片异常了,ElasticSearch能检测到,并升级对应的副本分片为主分片,在其恢复正常后,会重新将副本分片的数据重新导入给原主分片)

ElasticSearch模板和mapping索引字段类型映射:
mapping字段映射分为三种状态:1.dynamic:strict 2.dynamic:no 3.dunamic:true
第一种状态为严格的按照创建索引时指定的字段类型进行映射,如果你添加了非此类型的也不会报错,但是其不会被索引
第二种和第一种相同;
第三种就是动态的,你也可以在创建索引时指定,在之后你新增的类型字段会自动根据其类型加上映射索引字段

模板的意思就如同字面上一样,预定义一个模板,在之后可以指定这个模板,或者使用通配符自动为索引配置此模板里定义好的参数信息;
mapping和模板都可以使用通配符进行自动匹配,一般情况下是配合使用;mapping还可以使用match自动为某个字段定义类型;
并且模板可以设置order属性自定义优先级(order值越大优先级越高);

2018/2/5 ELK技术栈之ElasticSearch学习笔记的更多相关文章

  1. 2018/2/11 ELK技术栈之ElasticSearch学习笔记二

    终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实 ...

  2. ELK技术栈之-Logstash详解

    ELK技术栈之-Logstash详解   前言 在第九章节中,我们已经安装好Logstash组件了,并且启动实例测试它的数据输入和输出,但是用的是最简单的控制台标准输入和标准输出,那这节我们就来深入的 ...

  3. 应用编排服务之ELK技术栈示例模板详解

    日志对互联网应用的运维尤为重要,它可以帮助我们了解服务的运行状态.了解数据流量来源甚至可以帮助我们分析用户的行为等.当进行故障排查时,我们希望能够快速的进行日志查询和过滤,以便精准的定位并解决问题. ...

  4. 2018/2/13 ElasticSearch学习笔记三 自动映射以及创建自动映射模版,ElasticSearch聚合查询

    终于把这些命令全敲了一遍,话说ELK技术栈L和K我今天花了一下午全部搞定,学完后还都是花式玩那种...E却学了四天(当然主要是因为之前上班一直没时间学,还有安装服务时出现的各种error真是让我扎心了 ...

  5. ElasticSearch学习笔记(超详细)

    文章目录 初识ElasticSearch 什么是ElasticSearch ElasticSearch特点 ElasticSearch用途 ElasticSearch底层实现 ElasticSearc ...

  6. Elasticsearch学习笔记一

    Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...

  7. elasticsearch学习笔记——相关插件和使用场景

    logstash-input-jdbc学习 ES(elasticsearch缩写)的一大优点就是开源,插件众多.所以扩展起来非常的方便,这也造成了它的生态系统越来越强大.这种开源分享的思想真是与天朝格 ...

  8. 【原】无脑操作:ElasticSearch学习笔记(01)

    开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...

  9. elasticsearch学习笔记--原理介绍

    前言:上一篇中我们对ES有了一个比较大概的概念,知道它是什么,干什么用的,今天给大家主要讲一下他的工作原理 介绍:ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户 ...

随机推荐

  1. ionic2 安装与cordova打包

    1.安装: cnpm install -g cordova ionic ionic start name cd name cnpm install   2.环境配置: http://www.cnblo ...

  2. POJ 2387 Til the Cows Come Home(模板——Dijkstra算法)

    题目连接: http://poj.org/problem?id=2387 Description Bessie is out in the field and wants to get back to ...

  3. don\'t have permission access on this server听语音

    在网络上已经有很多的类型较多的框架,例如wamp,xmap等基于apache+mysql集成的框架,只要通过架包的方式,把相关的内容放到与这些的框架中后,启动服务器就可以执行架包内容,而在初始安装完成 ...

  4. [SinGuLaRiTy] 复习模板-数学

    [SinGuLaRiTy-1047] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 质因数分解 void solve(int n) { == ...

  5. SDP(3):ScalikeJDBC- JDBC-Engine:Fetching

    ScalikeJDBC在覆盖JDBC基本功能上是比较完整的,而且实现这些功能的方式比较简洁,运算效率方面自然会稍高一筹了.理论上用ScalikeJDBC作为一种JDBC-Engine还是比较理想的:让 ...

  6. Nodejs的运行原理-生态篇

    前言 这里是重点:Nodejs 是由v8 engine,libuv和内置模块组成,可以将v8 engine和 libuv看成一个库,两者是以源码的方式直接编译执行node中去的. 这是一个广泛的介绍, ...

  7. PID算法

    所谓PID就是比例-积分-微分的英文缩写,但并不是必须同时具备这三种算法,也可以是 PD, PI,甚至只有 P算法控制,下面分别介绍每个参数的含义:首先需要明确一个事实就是,要实现PID算法,必须在硬 ...

  8. Win2003 设置远程连接限制数

    在开发过程中,很多同事需要连接到一台Win2003服务器,但是连接人数超过了10个,就连接不上了.想设置一下连接限制数,可以如下操作: 1:在运行里面输入gpedit.msc后,弹出"本地计 ...

  9. java 网络编程之UDP通信和简单的群聊程序

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  10. Linux下passwd和shadow文件内容详解

    一./etc/passwd /etc/passwd 文件是一个纯文本文件,每行采用了相同的格式: name:password:uid:gid:comment:home:shell name 用户登录名 ...