博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch の 初体验|一文了解她
阅读量:7071 次
发布时间:2019-06-28

本文共 2382 字,大约阅读时间需要 7 分钟。

初识

  • 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格式表示,例如如下:

{  "id": 0,  "title": "elasticsearch教程",  "content": "这是一篇关于elasticsearch的教程,******",  "url":"http://kooola.com/article/elasticsearch-install"}复制代码

安装

下载安装

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip$ unzip elasticsearch-5.5.1.zip$ cd elasticsearch-5.5.1/ 复制代码

运行

./bin/elasticsearch复制代码

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

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root复制代码

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

创建用户组与用户

groupadd elasticsearchuseradd elasticsearch -g elasticsearch -p 123456复制代码

设置文件夹、文件所属

chown -R elasticsearch:elasticsearch  elasticsearch复制代码

切换用户再运行elasticsearch

su elsearch./elasticsearch复制代码

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

Error: Could not find or load main class org.elasticsearch.tools.JavaVersionCheckerElasticsearch requires at least Java 8 but your Java version from **** does not meet this requirement复制代码

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

检查

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

{  "name" : "11IPkfD",  "cluster_name" : "elasticsearch",  "cluster_uuid" : "k3fSrdjvSCSpUr42iZ2jHw",  "version" : {    "number" : "5.5.1",    "build_hash" : "19c13d0",    "build_date" : "2017-07-18T20:44:24.823Z",    "build_snapshot" : false,    "lucene_version" : "6.6.0"  },  "tagline" : "You Know, for Search"}复制代码

欢迎关注公众号,一起聊聊大数据。

转载地址:http://sokml.baihongyu.com/

你可能感兴趣的文章
我是一个线程(修订版) 转
查看>>
numpy二分查找
查看>>
DevExpress第三方控件使用实例之ASPxPopupControl弹出子窗体
查看>>
【视频】ASP.NET Core MVC 2.* 入门
查看>>
有关java中static关键的重写问题
查看>>
【Android】使用SearchView时软键盘不支持actionSearch的问题
查看>>
url请求返回结果测试工具(CURL)
查看>>
虚拟机安装教程
查看>>
java对文件的检索
查看>>
Marquee滚动字幕设置(转)
查看>>
linux系统下调度数据库类型资源库中的kettle job
查看>>
8UFTP
查看>>
VC 2005 解决方案的目录结构设置和管理
查看>>
吾爱论坛浏览器分享
查看>>
java内存模型优化建议
查看>>
解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
查看>>
Linux下如何修改Apache根目录
查看>>
JAVA入门[2]-安装Maven
查看>>
什么是回调函数
查看>>
HDU 2588 GCD && GCD问题总结
查看>>