Elasticsearchの初体验 一文了解她

初识

A Distributed RESTful Search Engine

它能让你以一个之前从未有过的速度和规模,去探索你的数据

"A Distributed RESTful Search Engine" 翻译过来就是一个分布式Restful搜索引擎,这句话基本能大致概括Elasticsearch。

如果稍微详细一点呢:

搜索引擎

首先,它是一个搜索引擎:Elastic 的底层是开源库 Lucene,Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库

使用简单

它使全文检索变得简单,通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API,用户可以使用curl(get put post delete方法)来操作数据,同时可以很轻松的使用各种语言的客户端封装库来操作数据(Elastic使用json作为数据载体,所以你完全可以使用http+json库来封装客户端来访问Elasticsearch服务)

分布式

一个分布式实时分析搜索引擎,分布式意味着计算更快,存储容量更大:能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

一些概念帮助理解

node、cluster(集群)

Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。

index(索引)

Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。所以,Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。

type(类型)

可以理解为java中的class,标识一中类型,每个类型中有相应的字段。

document(文档)

Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。可以理解为上面type的实例化,一个类型下面有很多document对象。document使用json格式表示,例如如下:

安装

下载安装

运行

此时运行可能报如下错误(报错原因是elasticsearch考虑安全问题默认不允许root用户运行):

解决方法:创建linux新用户,使用新用户运行elasticsearch

创建用户组与用户

设置文件夹、文件所属

切换用户再运行elasticsearch

Tips:安装运行elasticsearch前请确保java版本是1.8及以上,不然会报如下错误

注意:这里最好把elasticsearch的目录放到用户目录下(也就是放到/home/elasticsearch),不然可能报错

检查

打开浏览器,输入http://localhost:9200,能看到类似如下信息则表明elasticsearch服务启动成功

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181012G1R2HU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券