工具及环境
安装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关系型数据库为例)有一些概念是互通的,如下所示:
MySQL | ElasticSearch |
数据库(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
目前官网最新的版本是7.3.0;但这里安装的es版本是6.6.0
版本选择:
在上面的截图中的滚动条往下拉,看到 Not the version you're looking for? View past releases.(翻译:不是你要找的版本吗?查看以前版本。)
二、安装java,因为es是需要jar的运行环境 所以需要安装java 而java版本要求最好是大于8以上
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
选择对应的系统下载即可
怎么安装省略。。直接双击下载的安装包,选择你要安装的路径(我这里的安装的路径:D:\software\jdk-11),一直点击下一步下一步就好了。。
java安装目录如下:
将java环境中的bin目录配置到环境变量里(应该都会设置吧,不过还是啰嗦一下吧。。)
右击 点击桌面的 计算机->属性->高级系统设置->高级->环境变量->系统变量(s)->选择并编辑 Path
在最后面加上刚刚安装的java环境中的bin目录 我这里的java bin目录是这个:D:\software\jdk-11\bin; 然后保存退出
cmd命令行查看java版本:
java -version
三、elasticsearch相关安装操作
将下载的es6.6.0的版本文件解压(不出意外的话,你下载的es文件是一个压缩文件)并移动到你想放置的目录中,我这里最终放置的路径是:D:\software\elasticsearch-6.6.0
cmd到elasticsearch-6.6.0目录中的bin目录 然后运行 elasticsearch.bat 没有报错就行,运行后大概等个十几秒钟的就可以在浏览器查看效果了
注:为了省事以及可以在任意目录调用elasticsearch.bat命令 也可以将D:\software\elasticsearch-6.6.0\bin目录加入到 环境变量 中 这样就不用每次写上elasticsearch.bat文件的全路径才能运行该命令了
浏览器运行127.0.0.1:9200 出现如下内容就证明你的elasticsearch安装成功了!!
安装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
然后就安静的等待,网络慢我也没办法。如果实在是太慢了,可以ctrl + c 停止该命令的执行 然后重新运行上述步骤,运气好的话,可能就会快一些喽。。
安装完成后会自动在D:\software\elasticsearch-6.6.0\plugins目录中多了一个analysis-ik目录
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目录加入到环境变量中去,不需要我们手动去添加了。。
查看node版本以及npm包的版本:
node -v
npm -v
安装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安装为全局命令。
嗯。。可能会很慢。。超级慢。。慢慢等吧。。不想等自己搜索如何切换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目录运行时所依赖的相关类库文件
cmd仍然cd到D:\software\elasticsearch-head目录,然后运行grunt server命令 启动es-head插件项目
然后根据cmd命令行提示在浏览器中运行localhost:9100 或 127.0.0.1:9100
此时启动elasticsearch ,UI能展示,但这是不正常的。需要修改elasticsearch的配置文件:elasticsearch.yml
本文中的elasticsearch.yml配置文件所在路径为:D:\software\elasticsearch-6.6.0\config
增加以下两句命令(一定要注意冒号后面有空格):
http.cors.enabled: true
http.cors.allow-origin: "*"
然后在cmd命令行中重新启动es,即运行 D:\software\elasticsearch-6.6.0\bin>elasticsearch.bat 嗯。。注意路径换成你自己的。。
看到以下图片表示安装成功了 可以在网页中管理和操作es了。。
点击查看:es官方6.6版本文档
推荐阅读:elasticsearch的基本操作
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论