博客地址:http://www.moonxy.com 一.前言 在 Elasticsearch 中,对文档进行索引等操作时,既可以通过 RESTful 接口进行操作,也可以通过 Java 也可以通过 Java 客户端进行操作.本文主要讲解基于 RESTful 的文档索引与管理方法,后面章节再讲面向 Java 客户端的编程方法. 使用 RESTful API 时,主要有如下四种方式可以选择: 方式一:可以使用终端中的 curl 命令,如果还没有安装,按照系统的不同,执行不同的安装命令,CentOS…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 是一个基于 Lucene 的分布式搜索引擎服务,采用 Java 语言编写,使用 Lucene 构建索引.提供搜索功能.虽然 Lucene 的功能已经非常强大,但是 Lucene 只是一个由 Java 语言编写的库,专注底层搜索的建设,而 Elasticsearch 专注于企业应用. 基于 Elasticsearch 衍生出来了一系列开源软件,统称为 Elastic Stack,主要包括分布式搜索引擎 El…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 底层依赖于 Lucene 库,而 Lucene 库完全是 Java 编写的,前面的文章都是发送的 RESTful API 请求,其实这些请求最后还是通过 Java 执行的.RESTful API 能做的 Java API 都能做,Java API 比 RESTful API 功能更强大. 1.1 Elasticsearch API 的简单使用方式 1)非客户端方式:通过 HTTP 方式的 JSON 格式进…
博客地址:http://www.moonxy.com 一.前言 Kibana 是 Elastic Stack 公司推出的一个针对 Elasticsearch 的开源分析及可视化平台,可以搜索.查看存放在 Elasticsearch 索引里的数据,还可以绘制多种图表用于高级数据分析及可视化.Kibana 能够让用户很容易理解大数据,拥有便捷易用.基于浏览器的交互界面,能够通过快速创建和分享动态仪表板,方便地将 Elasticsearch 中执行查询的情况展示到用户面前. 二.安装 Kibana 2…
博客地址:http://www.moonxy.com 一.前言 ES-Hadoop 是连接快速查询和大数据分析的桥梁,它能够无间隙的在 Hadoop 和 ElasticSearch 上移动数据.ES Hadoop索引 Hadoop 数据到 Elasticsearch,充分利用其查询速度,大量聚合能力来使它比以往更快,同时可以使用 HDFS 作为 Elasticsearch 长期存档.ES-Hadoop可以本地集成 Hadoop 生态系统上的很多流行组件,比如 Spark.Storm.Hive.P…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 作为开源搜索引擎服务器,其核心功能在于索引和搜索数据.索引是把文档写入 Elasticsearch 的过程,搜索是匹配查询条件找出文档的过程,实现全文检索一个分析过程,分析过程主要分为两步,第一步是词条化,分词器把输入文本转化为一个个的词条流:第二步是过滤,在这个阶段有若干个过滤器处理词条流中的词条,比如停用词过滤器会从词条流中去除不相干的词条,同义词过滤器会添加新词条或者改变已有词条,小写过滤器会把所有…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 是一个分布式的全文搜索引擎,索引和搜索是 Elasticsarch 的基本功能.同时,Elasticsearch 的聚合(Aggregations)功能也时分强大,允许在数据上做复杂的分析统计.ES 提供的聚合分析功能主要有指标聚合.桶聚合.管道聚合和矩阵聚合.需要主要掌握的是前两个,即指标聚合和桶聚合. 聚合分析的官方文档:Aggregations 二.聚合分析 2.1 指标聚合 指标聚合官网文档:Me…
博客地址:http://www.moonxy.com 一.前言 集群搭建好以后,在日常中就要对集群的使用情况进行监控,对于一个多节点集群,由于网络连接问题,出现宕机.脑裂等异常情况都是有可能发生的.Elasticsearch 提供了 Cat API 和 Cluster API,可以方便地获取集群的健康情况.集群状态.节点状态.索引统计等信息. 二.集群 API 2.1 Cat API cat API 官方参考文档:cat APIs JSON is great… for computers. Ev…
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 主要包含索引过程和搜索过程. 索引过程:一条文档被索引到 Elasticsearch 之后,默认情况下 ES 中会保存两份内容,一份是该文档的原始内容,也就是 _source 中共的文档内容,另一份是索引时通过分词.过滤等一系列过程生成的倒排索引文件,倒排索引中保存了词项和文档的对应关系. 搜索过程:当用户对文档进行检索时,ES 接收到查询关键词之后到倒排索引中进行查询,通过倒排索引中维护的倒排记录表找到…
博客地址:http://www.moonxy.com 一.前言 关系型数据库对我们来说都很熟悉,Elasticsearch 也可以看成是一种数据库,所以我们经常将关系型数据库中的概念和 Elasticsearch 中的概念进行对比,如下: Relational DB(关系型数据库) -> Databases(数据库) -> Tables(表) -> Rows(行) -> Columns(列) Elasticsearch -> Indices(索引) -> Types(类…