全文检索引擎Elasticsearch之简介安装篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cpongo4/article/details/89333896
### Elasticsearch简介 - Elasticsearch 是一个开源的实时的分布式搜索分析引擎,建立在一个全文搜索引擎库 [Apache Lucene™](https://lucene.apache.org/core/) 基础之上 - Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,对外提供一套简单一致的 RESTful API - 更加准确的定义 1. 一个分布式的实时文档存储,每个字段 可以被索引与搜索 2. 一个分布式实时分析搜索引擎 3. 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 4. 由传统关系型数据存储模式(行和列)转变为以文档为单位的对象存储模式的转变 - 谁在用它 ? 1. Wikipedia 使用 Elasticsearch 提供带有高亮片段的全文搜索 2. GitHub 使用 Elasticsearch 对1300亿行代码进行查询 - 名词释义 1. 集群:表示多个Elasticsearch实例同时提供所搜服务 2. 索引:类似于传统关系型数据库中的一个`数据库实例schema` 3. 文档:类似于传统关系型数据库中的一个`表table` 4. 类型:类似于传统关系型数据库中的一行数据即一个实体中包行的数据 5. 属性:类似于传统关系型数据库中的一个列`字段filed` - 内部存储关系 一个集群可以包含多个索引,一个索引可以包含多个类型,一个类型可以存储为多个文档,一个类型可以包含多个属性 - 索引和检索数据 1. 传输协议 - 基于Java体制内原生传输协议 - 节点客户端(Node client) - 官方解释:`节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点` 说白了就是当前客户端作为一个节点会加入到Elasticsearch集群中,但是这个节点只是做转发并不会存储任何索引的文档数据 - 传输客户端(Transport client) - 官方解释:`轻量级的传输客户端可以将请求发送到远程集群。它本身不加入集群,但是它可以将请求转发到集群中的一个节点上` 说白了就是一个纯数据操作的客户端,只是数据传输是采用Elasticsearch原生协议 - 基于跨语言的restful的http协议 - 由http请求方式method决定数据的操作 - PUT:索引或更新文档 - POST:索引文档 - GET:检索文档 - HEAD:检查文档是否存在 - DELETE:删除文档 2. 数据格式 - 基于Json格式进行文档数据存储 ### Elasticsearch安装 `Elasticsearch是基于Java语言的应用程序,所以在安装前我们必须保证有Java的运行环境(即安装jdk)` - 安装包下载 1. 获取Java的jdk安装包 - curl -L "https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz" -H "Cookie: oraclelicense=accept-securebackup-cookie" -H "Connection: keep-alive" -O 2. 获取Elasticsearch安装包 - wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz - 解压并配置Java运行环境(JAVA_HOME配置,网上有教程哦) - 解压并运行Elasticsearch 1. 解压 `tar -xvf elasticsearch-6.6.1.tar.gz` 2. 进入执行文件目录下 `cd elasticsearch-6.6.1/bin` 3. 运行 `./elasticsearch`,加 `-d` 使用后台方式运行 - 验证安装 1. curl http://127.0.0.1:9200 2. 响应如图数据即安装成功 006tKfTcgy1g103v1ch87j30ju0eawh2.jpg

猜你喜欢

转载自blog.csdn.net/cpongo4/article/details/89333896
今日推荐