Elasticsearch 介绍与安装(windows上安装)

工具及环境

安装elasticsearch版本:6.6.0 

操作系统:windows7

一、elasticsearch简单介绍

Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,是 Lucene 的封装,提供了REST API 的操作接口,开箱即用。现在是使用最广的开源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 来构建他们的搜索引擎。


Elasticsearch 是一个非常灵活和强大的搜索引擎,涉及到非常多的概念,为了降低入门门槛,这里先给大家介绍 Elasticsearch 最最基础的一些概念。


Elasticsearch 本质上是一个数据库,但并不是 Mysql 这种关系型数据库,查询语言也不是 SQL。Elasticsearch是一种面向文档型的数据库。


Elasticsearch采用json格式来存储数据,每个文档都有一个唯一的 _id,并且可以包含任意数量的字段(field),这些字段可以有不同的数据类型。


Elasticsearch不仅提供全文搜索功能,还支持复杂的查询、聚合以及实时分析等功能。由于其分布式特性,Elasticsearch能够水平扩展并处理大量数据,非常适合日志分析、监控数据、电商产品目录等多种应用场景,在这些场景下,数据通常是以独立且自包含的文档形式存在的。


Elasticsearch既然也是一种数据库,那么和传统关系型数据库(以 mysql关系型数据库为例)有一些概念是互通的,如下所示:

MySQLElasticSearch
数据库(database)索引(index)
表(tables)
类型(type)
行(rows)文档(document)
字段(column)
字段(fields)


Elasticsearch中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)。


逻辑设计:

一个索引类型中,包含多个文档,比如说文档1,文档2。当我们索引一篇文档时,可以通过这样的一个序列找到它: 索引>类型>文档id,通过这个组合我们就能索引到某个具体的文档。注意:id不必是整数,实际上它是个字符串!


一些需要注意的相关点:

es新版本中 已经逐渐弱化了没有了类型type(对应关系型数据库中的 表)的概念,貌似es8.x已经完全移除了类型type。在es7.x及更高的版本中 我们可以直接向索引中添加文档数据。


Elasticsearch 官网下载地址:

https://www.elastic.co/cn/downloads/elasticsearch

es2.png

目前官网最新的版本是7.3.0;但这里安装的es版本是6.6.0


版本选择:

在上面的截图中的滚动条往下拉,看到 Not the version you're looking for? View past releases.(翻译:不是你要找的版本吗?查看以前版本。)

es4.png

二、安装java,因为es是需要jar的运行环境 所以需要安装java 而java版本要求最好是大于8以上

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html


选择对应的系统下载即可

es5.png

怎么安装省略。。直接双击下载的安装包,选择你要安装的路径(我这里的安装的路径:D:\software\jdk-11),一直点击下一步下一步就好了。。


java安装目录如下:

es6.png


将java环境中的bin目录配置到环境变量里(应该都会设置吧,不过还是啰嗦一下吧。。)

右击 点击桌面的 计算机->属性->高级系统设置->高级->环境变量->系统变量(s)->选择并编辑 Path 

在最后面加上刚刚安装的java环境中的bin目录 我这里的java bin目录是这个:D:\software\jdk-11\bin;  然后保存退出


cmd命令行查看java版本:

java -version

es7.png

三、elasticsearch相关安装操作

将下载的es6.6.0的版本文件解压(不出意外的话,你下载的es文件是一个压缩文件)并移动到你想放置的目录中,我这里最终放置的路径是:D:\software\elasticsearch-6.6.0

es8.png


cmd到elasticsearch-6.6.0目录中的bin目录 然后运行 elasticsearch.bat  没有报错就行,运行后大概等个十几秒钟的就可以在浏览器查看效果了

注:为了省事以及可以在任意目录调用elasticsearch.bat命令 也可以将D:\software\elasticsearch-6.6.0\bin目录加入到 环境变量 中  这样就不用每次写上elasticsearch.bat文件的全路径才能运行该命令了


es9.png


浏览器运行127.0.0.1:9200 出现如下内容就证明你的elasticsearch安装成功了!!

es10.png


安装es的中文分词器插件ik(注意版本:这里安装6.6.0的ik插件)

ik插件下载地址(含各个版本):https://github.com/medcl/elasticsearch-analysis-ik/releases

ik6.6.0版本下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.6.0


这里直接用命令行安装ik插件,仍然需要在命令行中cd到es目录中的bin目录,然后运行如下命令:

elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip


es11.png

然后就安静的等待,网络慢我也没办法。如果实在是太慢了,可以ctrl + c 停止该命令的执行 然后重新运行上述步骤,运气好的话,可能就会快一些喽。。


安装完成后会自动在D:\software\elasticsearch-6.6.0\plugins目录中多了一个analysis-ik目录

es12.png


node.js环境安装(为接下来的es-head插件用)

node环境下载地址:https://nodejs.org/en/download/

本文中使用的node环境下载地址:https://nodejs.org/dist/v10.16.2/node-v10.16.2-x64.msi


怎么安装省略。。选择安装后的路径(本文中安装的node路径:D:\software\nodejs-10.15.1),然后下一步下一步就行了。。不过安装完了之后,会自动将node目录加入到环境变量中去,不需要我们手动去添加了。。

es14.png


查看node版本以及npm包的版本:

node -v

npm -v

es13.png


安装node.js中的grunt(为接下来的es-head插件用

什么是grunt?grunt,简而言之,就是运行在Node.js上面的任务管理器(task runner),其可以在任何语言和项目中自动化指定的任务。我们可通过npm来安装grunt和grunt插件


为什么使用Grunt?

一词概括:自动化


grunt帮助你提高重复项目的性能,比如:


Minification

Compilation

Unit testing

Linting and more


为了获得grunt的更多产品特性,你需要全局安装Grunt's 命令行接口(CLI)。


因为下面运行es-head需要借助grunt命令,所以需要安装grunt命令,cd到nodejs的安装目录下(直接执行命令也行,因为已经添加到环境变量了),执行命令:npm install -g grunt-cli,将grunt安装为全局命令。

es15.png

嗯。。可能会很慢。。超级慢。。慢慢等吧。。不想等自己搜索如何切换npm的镜像源或fq等。。

如果不想切换可尝试将命令换成:npm install phantomjs-prebuilt@2.1.16 --ignore-scripts



elasticsearch-head 插件安装

为了便于管理es,我们使用head插件,这是最初级的管理工具,在浏览器中显示es集群,索引等信息,十分好用。说白了就是一个web版的软件用来管理和操作es的。类似于phpmyadmin。


下载head插件:https://github.com/mobz/elasticsearch-head

将下载的文件解压并移动到你想放置的目录中,我这里最终放置的路径是:D:\software\elasticsearch-head


cmd命令行模式下cd进入到D:\software\elasticsearch-head目录 并执行 npm install 命令来下载elasticsearch-head目录运行时所依赖的相关类库文件

es17.png


cmd仍然cd到D:\software\elasticsearch-head目录,然后运行grunt server命令 启动es-head插件项目

es18.png


然后根据cmd命令行提示在浏览器中运行localhost:9100 或 127.0.0.1:9100

es19.png

此时启动elasticsearch ,UI能展示,但这是不正常的。需要修改elasticsearch的配置文件:elasticsearch.yml

本文中的elasticsearch.yml配置文件所在路径为:D:\software\elasticsearch-6.6.0\config


增加以下两句命令(一定要注意冒号后面有空格):

http.cors.enabled: true

http.cors.allow-origin: "*"


es20.png

es22.png


然后在cmd命令行中重新启动es,即运行 D:\software\elasticsearch-6.6.0\bin>elasticsearch.bat       嗯。。注意路径换成你自己的。。


看到以下图片表示安装成功了 可以在网页中管理和操作es了。。

es21.png


点击查看:es官方6.6版本文档



推荐阅读:elasticsearch的基本操作



声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

小周博客
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复 0人评论 7,777人参与

loading