- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ElasticSearch简介
假如我们建了一个web站点或者是一个应用程序,你就可能会需要添加搜索功能(因为这太有必要了),而事实上让搜索跑起来是有难度的,我们不仅想要搜索的速度快,而且还要安装方便(最好是无痛安装),另外模式定义要非常自由(schema free),可以通过HTTP以JSON格式的数据来进行索引,服务器必须是一直可用的(HA高可用,这个不能丢),从一台机器能够扩展到成千上万台,然后搜索必须是实时的(real-time),使用起来一定要简单、支持多租户,我们需要一整套的解决方案。elasticsearch?的目标是解决上面的所有问题以及更多。它是开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene之上的的搜索引擎.
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
ElasticSearch集群及应用
1、elasticsearch集群elasticsearch集群主要修改config下面的elasticsearch.ymlelasticsearch可以指定一个集群名,集群里可以配置一个Master多个node,可以手动配置选举产生Master。下面的配置,台机器是Master,
: es_mongodb
: es_mongodb0
node.master: true
node.data: true
: es_mongodb
: es_mongodb1
node.master: true
node.data: true
: es_mongodb
: es_mongodb2
node.master: true
node.data: true
elasticsearch运行很简单,linux下直接?bin/elasticsearch就运行了,windows运行bin/elasticsearch.bat。如果是在局域网中运行elasticsearch集群也是很简单的,只要设置一致,并且机器在同一网段下,启动的es会自动发现对方,组成集群。
2、elasticsearch集群
如下图表示一个es集群有三shard和1个replica,一个完整的索引的存储分成三个分片分别存储在三个shard上,然后每个shard有产生1个副本。
recovery?代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。?river?代表es的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。它是以插件方式存在的一个es服务,通过读取river中的数据并把它索引到es中,官方的river有couchDB的,RabbitMQ的,Hadoop的,MongoDB的。?gateway?代表es索引的持久化存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到硬盘。当这个es集群关闭再重新启动时就会从gateway中读取索引数据。es支持多种类型的gateway,有本地文件系统(默认),分布式文件系统,Hadoop的HDFS和amazon的s3云存储服务。?discovery.zen?代表es的自动发现节点机制,es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。?Transport?代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrift、servlet、memcached、zeroMQ等的传输协议(通过插件方式集成)。
下图是elasticsearch的整体架构图:
3、elasticsearch应用(Java)
介绍几个Java应用中的重要概念
index:索引库名称,相当于关系型数据库中的表名,一个 elasticsearch集群中可以有多个索引库。
type:索引库中索引数据类型,为索引类型,是用来区分同索引库下不同类型的数据的,一个索引库下可以有多个索引类型。
id:索引库中索引数据主键,唯一。
1、与集群连接
可以通过两种方式来连接到 elasticsearch(简称es)集群。
第一种是通过在程序中创建一个嵌入elasticsearch节点(Node),使之成为elasticsearch集群的一部分,然后通过这个节点来与elasticsearch集群通信。
Node 方式:
创建嵌入节点的方式如下:
// 启动节点
Node node = new NodeBuilder().node(
您可能关注的文档
- 写第一个STM32程序常见错误与解决方法.doc
- 第十一章 门店接手计划.doc
- 当前我国少数民族语言政策解读_黄行解读.pdf
- 汽车主机调试幻灯片.doc
- 函数和编译预处理01.pdf
- 第六讲 供应链管理.doc
- 第一章 1.6 Sword Core—日志、异常组件说明—SwordLogUtils.pdf
- 第九章 高考高频动词短语(56个动词)整理.docx
- 中考数学复习教材回归知识讲解+例题解析+强化训练(变量和函数).doc
- 设备安全使用管理制度资料.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)