这是我参与更文挑战的第9天,活动详情查看:更文挑战vue
ElasticSearch,简称 ES,主要功能是全文搜索以及数据分析等,故经常使用于搜索和大数据场景,这是一篇入门级文档,这里咱们主要介绍 ES 在搜索场景下的使用。git
在学习和实践的过程当中,咱们能够自行安装 kibana,或者 elasticsearch head 插件,或者 elasticvue 插件做为可视化工具协助。github
搜索引擎狭义的是指相似百度、谷歌这样的网站,即输入一个关键词,而后搜索引擎给出一个搜索结果出来,只是这个结果可能会因为不一样的搜索引擎而获得不一样的结果。广义的是指各类信息搜索系统或网站。算法
搜索引擎是指根据必定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展现给用户的系统。它是根据用户需求与必定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术。shell
搜索引擎是工做于互联网上的一门检索技术,它旨在提升人们获取搜集信息的速度,为人们提供更好的网络使用环境。从功能和原理上搜索引擎大体被分为全文搜索引擎、元搜索引擎、垂直搜索引擎和目录搜索引擎等四大类。浏览器
搜索引擎技术的核心模块通常包括爬虫、索引、检索和排序等,同时可添加其余一系列辅助模块,觉得用户创造更好的网络使用环境。好比网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、天然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。服务器
Elasticsearch is a real-time, distributed storage, search, and analytics engine.markdown
Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎。网络
Elasticsearch 是一个基于 Apache Lucene(TM) 的开源搜索引擎。不管在开源仍是专有领域,Lucene 能够被认为是迄今为止最早进、性能最好的、功能最全的搜索引擎库。可是,Lucene 只是一个库。想要使用它,你必须使用Java来做为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene 很是复杂,你须要深刻了解检索的相关知识来理解它是如何工做的。 Elasticsearch 也使用 Java 开发并使用 Lucene 做为其核心来实现全部索引和搜索的功能,可是它的目的是经过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。 不过,Elasticsearch 不只仅是 Lucene 和全文搜索,咱们还能这样去描述它:jvm
并且,全部的这些功能被集成到一个服务里面,你的应用能够经过简单的RESTful API、 各类语言(Java、Python、.NET等)的客户端甚至命令行与之交互。上手 Elasticsearch 很是容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装便可使用),只需不多的学习既可在生产环境中使用。 Elasticsearch 在 Elastic License 2.0 下许可以使用,能够免费下载、使用和修改。随着你对Elasticsearch的理解加深,你能够根据不一样的问题领域定制 Elasticsearch 的高级特性,这一切都是可配置的,而且配置很是灵活。
在安装 Elasticsearch 以前,您需安装并配置好 JDK, 设置好环境变量 $JAVA_HOME
。
众所周知,Elasticsearch 版本不少,不一样的版本对 Java 的依赖也有所差异:
ES 的安装是很是简单的,直接访问 Elasticsearch 官网 www.elastic.co/cn/download… 下载安装包便可,根据你自己的系统进行选择下载(固然你也能够经过包管理软件进行下载,我是为了方便就直接下载压缩包了):
而后将压缩包解压到你想要放的目录,解压后的目录结构以下:
目录/文件 | 配置文件 | 描述 |
---|---|---|
bin | 脚本文件目录,如启动脚本、安装插件脚本等 | |
config | elasticsearch.yml | elasticsearch 配置文件 |
data | path.data | 数据持久化文件目录 |
lib | 依赖相关类库 | |
logs | path.log | 日志文件目录,好比错误日志、gc日志等等 |
modules | 包含的全部 ES 模块,好比 x-pack 等 | |
plugins | 全部已安装的插件 | |
jdk | Java 运行环境 |
注意点:
- 修改 JVM 参数,配置文件路径为
config/jvm.options
,ES V7.1 版本默认为1g
, 老版本为2g
, 你能够自行修改。Xmx
和Xms
数值请设置相同;Xmx
不要超过机器内存的50%
;- 内存总量不要超过 30GB, 参见官方文档 www.elastic.co/cn/blog/a-h…
启动就须要执行启动脚本,进入刚才的解压目录,进入 bin
目录,执行:
./elasticsearch
复制代码
ES 的默认访问端口是 9200,接着咱们浏览器访问 http://127.0.0.1:9200
,若是能看到下面的结果就证实咱们完成安装并启动成功了:
关闭 ES 的话,在终端界面 Ctrl + C
终止当前进程就行了,简单有效【狗头保命】,固然也能够找到进程再杀死。
插件的安装咱们可使用插件安装脚本进行安装,即 bin
目录下的 elasticsearch-plugin
脚本,首先咱们能够查看已经安装了哪些插件:
./elasticsearch-plugin list
复制代码
能够看到我已经安装了一个插件,ik
,一个分词工具。接着咱们来安装一个新的插件,pinyin
即拼音分词器。以后的系列文章我会给你们介绍这些插件的用处。
ES 插件的安装命令以下:
./elasticsearch-plugin install {插件名}
复制代码
好比安装拼音分词器命令以下:
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.0/elasticsearch-analysis-pinyin-7.12.0.zip
复制代码
而后咱们再经过查看插件命令就能够看到最新的已安装的插件列表了:
重启ES后,安装的插件才会生效。除了命令行,也能够经过访问 http://127.0.0.1:9200/_cat/plugins
来查看已经安装的插件:
本篇简单介绍了一下搜索引擎以及 ES 是什么,接着给你们演示了一下如何安装和启动 ES,怎么安装 ES 的插件,欢迎你们多多实践,若是遇到问题,也欢迎评论给出,共同解决。在以后的文章会继续完善和不全 ES 相关的内容,敬请期待!