《Office 2013快速入门指南》简体中文版下载(暂未上线)(office是什么意思)
645
2022-05-29
一、elasticsearch是什么
Elasticsearch是基于ApacheLucene全文搜索引擎库实现的一个实时的开源分布式搜索引擎。
Elasticsearch是一个分布式文档存储。Elasticsearch存储已序列化为JSON文档的复杂数据结构,而不是将信息存储为列形数据行。当您在集群中拥有多个Elasticsearch节点时,存储的文档会分布在集群中,并且可以从任何节点访问。
二、Elasticsearch能做什么
支持实时高效全文检索,支持实时高效结构化检索、分析
支持分布式实时文档存储
支持PB级的结构化或非结构化数据
支持拓展,Elasticsearch可配置并且灵活。
支持通过RestAPI与应用程序进行通信
三、Elasticsearch怎么安装(windows环境)
需要安装最新的java版本,因为ES也是java语言编写的,需要JVM的支持
下载最新版的Elasticsearch并解压(选择适合的操作系统版本,本次选择windows)
进入解压目录,cd到bin目录,运行elasticseach.bat文件,查看运行结果是否成功。
运行elasticsearch文件成功后,浏览器访问http://localhost:9200/,响应结果如下:
{
"name" : "主机名",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "yqQn9A1fTzKfR064ypqT9w",
"version" : {
"number" : "7.3.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "1c1faf1",
"build_date" : "2019-09-06T14:40:30.409026Z",
"build_snapshot" : false,
"lucene_version" : "8.1.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
收到上面的响应之后,证明已经启动并运行一个Elasticsearch节点了。
如果想搭建一个集群启动多个节点则可以修改config目录下的elasticsearch.yaml文件,文件里面都有详细的配置说明,修改完yaml配置文件之后重启elasticsearch就会生效。
exit退出即可停止elasticsearch服务
四、如何在应用程序中使用Elasticsearch
Elasticsearch安装后,应用程序客户端都可以通过Elasticsearch提供等RestAPI进行与ES通信交互,如通过curl向ES发送请求;不区分语言,同时官方也提供了很多不同语言的客户端库和插件。比如提供了java相关的客户端库,在写java程序的时候,只需要依赖这些库
一个Elasticsearch请求curl组成:
curl -X
verb:适当的http方法:GET,POST,PUT,HEAD,DELETE
protocol: http或者https
host:Elasticsearch集群中任意节点的主机名,或者使用localhost表示本机
port: 运行Elasticseach HTTP服务的端口号,默认是9200
path:API的终端路径(例如_count路径表示返回集群中文档数量),path可能包含多个组件,例如_cluster/stats或_nodes/stats/jvm
query_string:查询字符串参数
body:一个json格式的请求体(如果需要的话)
配合kibana可视化操作Elasticsearch,简单高效
官网下载kibana
解压到指定目录,根据需要在config目录下修改kibana.yaml配置文件,如server.port,server.host和连接es的elasticsearch.hosts等参数
进入解压的bin目录下,执行启动文件,如windows的启动kibana.yaml
使用设置的host+port在浏览器上访问,如http://localhost:5601
浏览器访问/status路径可查看状态,如http://localhost:5601/status
打开路径,连接上es服务后,在kibana页面上就可以创建es的索引,就可以分析探索你的数据了
对es数据进行命令的直接操作可以使用Dev Tools控制台,通过命令行与es进行操作交互。
五、Elasticsearce基本概念
索引index:每个索引是一系列文档优化的集合,相当于关系数据库中的database
文档document:每个文档都是字段的集合,相当于关系数据库中表的行数据rows
类型type:表示一类类似的文档,相当于关系数据中的表table
字段field:每个字段都是包含key-value键值对的数据,相当于关系数据库中表的列columns
映射mapping:类似于DB的schema,描述这一个类型type中的所有文档可能具有的字段或属性,以及这些字段的类型,并且描述如何索引和存储这些字段
分片shards:是指将索引划分成多份,每一份就是一个分片,也叫主分片;分片分为两类:主分片和复制分片,这些分片都是一个独立的索引,可以被放置在集群中的任何节点上,方便数据拓展和平衡集群,同时可以复制分片,复制分片不会被分配在与主分片所在的节点上,复制分片主要作用于故障转移机制。
节点node:一个节点就是一个ES实例,第一个启动的节点默认就是master节点,其余节点都可以是候选节点(通过node.master设置),当master节点崩了,这些候选节点就有机会选取为master节点;每个节点都保存了集群信息的状态,只有master节点才能修改集群的状态信息。
Elasticsearch是面向文档(document oriented)的,它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。
在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以简单的对比传统关系型数据库:
Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices -> Types -> Documents -> Fields
六、使用场景
在应用程序或者网站中添加搜索框的场景
存储和分析日志、指标和安全事件数据的场景
使用机器学习实时自动建模的行为数据的场景
使用es作为存储介质自动执行业务工作流
使用es作为地理信息系统(GIS)管理、集成和分析空间信息
使用es作为生物信息学研究工具存储和处理遗传数据
Elasticsearch Java 实时流计算服务 CS
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。