ElasticSearch
準提童子
问题导向,模块分解,系统学习,步步为营。
展开
-
ElasticSearch(一)--入门
安装好ElasticSearch及其Kibana,Marvel,Sense插件之后,就可以简单的使用ES了.使用ES,是基于HTTP协议以及JSON为数据交互格式的.使用Linux终端命令curl对ES进行HTTP请求,格式:curl -X '://:/?' -d ''其中,VERB,是HTTP请求的方法,有GET,POST,PUT,HEAD,DELETE.PROTOC原创 2016-05-11 23:31:58 · 2251 阅读 · 0 评论 -
ElasticSearch API for JAVA 学习笔记
本篇学习笔记来源于ES官方网站的指导文档:ES JAVA APIClientClient是一个类,通过这个类可以实现对ES集群的各种操作:Index, Get, Delete , Search,以及对ES集群的管理任务。Client的构造需要基于TransportClientTransportClientTransportClient可以远程连接ES集群,通过一个传输模块,但是原创 2016-08-31 10:10:47 · 13997 阅读 · 0 评论 -
ElasticSearch Java API的使用
先上代码,后续分析。jar包直接copy的es包下的,实现的功能有:1.创建索引2.查询具体文档import java.util.Date;import java.util.HashMap;import java.util.Map;import org.elasticsearch.action.get.GetResponse;import org.elasticsear原创 2016-08-30 10:10:59 · 3007 阅读 · 0 评论 -
ElasticSearch(八)--排序和相关
默认的,结果返回根据相关性排序,在这一节中,我们解释如何利用相关性,以及它是怎么计算的.我们以参数sort开始,以及如何使用它.1. 排序以便根据相关性进行排序,我们需要把相关性表述为值,在ES中,相关性评分是单浮点类型的数值,它以_score被显示在搜索结果中,默认的是降序排列.然而有时候,你不需要一个有意义的相关性评分,例如接下来的查询,只返回字段user_id有值1的所有文档.原创 2016-06-04 22:00:44 · 6112 阅读 · 0 评论 -
ElasticSearch(七)--请求体查询
简单查询lite search (字符串查询)是一种有效的命令行ad hoc 查询,但是想要善用搜索,必须使用请求体查询request body search API.之所以这么称呼,是因为大多数的参数以JSON格式所容纳,而不是查询字符串.请求体查询不但可以处理查询,而且还可以高亮返回结果中的片段.1.空查询GET _search{}同字符串查询一样,你可以查询一个,或多个索原创 2016-06-04 21:03:10 · 17937 阅读 · 0 评论 -
ElasticSearch(六)--映射和分析
映射mapping机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, boolean, date);分析analysis机制用于进行全文文本Full Text的分词,以建立供搜索用的倒排索引Inverted index.上边做个总结,后续学习之后就明白了.先看一个查询现象:在索引中有12个tweets,只有一个包含日期2014-09-15,但是我们看看下面查询原创 2016-05-22 22:55:44 · 14718 阅读 · 0 评论 -
ElasticSearch(四)--分布式文档存储
第三节学习了文档的检索,更新,删除,索引的操作方法,本节主要学习这些操作的原理,有利于深入的了解ElasticSearch.1. 路由文档每个文档都会存储在单独的一个分片上,那么在检索文档的时候,如何知道文档存储在哪个分片上呢?当创建一个新文档时,如何确定它是要存储到哪一个分片上呢?根据一个简单的算法:shard = hash(routing) % number_of_primary_shardsrouting是一个字符串,默认是_id也可以自定义,hash哈稀罕数,number_of原创 2016-05-14 19:08:52 · 2015 阅读 · 0 评论 -
Marvel的安装与调试
Marvel是针对ElasticSearch的监控工具,安装需要Kibana的支持,需先安装Kibana工具.前提是安装了ElasticSearch:ElasticSearch安装与调试(Linux环境)Kibana安装见:Kibana的安装与调试安装第一步,安装到ElasticSearch中的路径下:bin/plugin install licensebin/plu原创 2016-05-09 20:42:09 · 1542 阅读 · 0 评论 -
Kibana的安装与调试
Kibana是用于ElasticSearch的分析的可视化工具,通过web的方式呈现.下载:kibana地址 https://www.elastic.co/products/kibana文件kibana-4.5.0-linux-x86.tar.gz将文件解压到/opt/software/bigdata文件夹下tar -zxvf kibana-4.5.0-linux-x86.ta原创 2016-05-09 19:12:13 · 9919 阅读 · 2 评论 -
ElasticSearch(五)--搜索Search
前边的学习,我们已经可以将ElasticSearch作为一个分布式存储系统使用,但是ES的真正强大之处在于可以在混乱的数据中找出有意义的信息.每个文档里的字段都会被索引并被查询,关于搜索Search,可以做:结构化查询:比如在gender性别和年龄age这样的字段上使用结构化查询,在join_date这样的字段上使用排序.全文查询:可以使用所有字段来匹配关键字,然后按照关联性relevance排序返回结果.也可以两者结合使用.搜索都是开箱即用的,为了深入了解ES的潜力,需要三个概念:映射Mapp原创 2016-05-14 19:11:12 · 2539 阅读 · 0 评论 -
ElasticSearch安装与试用(Linux环境)
ElasticSearch是一个搜索引擎,用于大数据中.安装首先,下载https://www.elastic.co/downloads/elasticsearch文件elasticsearch-2.3.2.zip,将文件放置在/opt/software/bigdata目录下解压文件:unzip elasticsearch-2.3.2.zip注意不同的压缩文件,使用不同的原创 2016-05-09 11:02:52 · 1957 阅读 · 0 评论 -
ElasticSearch(三)--文档
面向对象编程语言流行的原因之一是,可以用对象表示和处理现实生活中那些有潜在关系和复杂结构的实体.到目前为止,这种方式还不错.当我们存储这些实体时问题来了,以行和列的形式将数据存储在关系数据库中,相当于使用电子表格,这种方式使对象的灵活性不复存在.如何能以对象的方式存储数据呢?使程序专注于使用数据,而不是围绕行列的表格建模.对象Object是一种语言相关,记录在内存中的数据结构.为了在网原创 2016-05-12 22:32:23 · 12815 阅读 · 0 评论 -
ElasticSearch(二)--分布式集群
这一章节主要介绍,ElasticSearch在分布式环境下的工作机制,主要包括:术语解释:集群cluster,节点node,分片shard;ES的扩展机制,以及它如何处理故障.ES用于构建高可用和可扩展的系统,扩展的方式有两种:纵向扩展vertical scale or scaling up:购买更好的服务器横向扩展horizontal scale or scaling out原创 2016-05-12 15:00:16 · 3109 阅读 · 0 评论 -
关于Elasticsearch集群脑裂brain-split的预防与解决
Es集群在网络出现问题时,由于与master断开的相通节点会任务集群中没有master, 重新选举master, 故会分裂成两个“集群”,集群有两个个master,这种情况称之为脑裂(Split Brains)脑裂会导致集群处于丢失数据的危险情况,因为master被认为是集群中最高的统治者,它负责新分片的产生,分片的迁移等,如果集群中出现两个master,集群内数据完整和一致性就会被打破。原创 2017-06-26 21:05:36 · 2090 阅读 · 0 评论