关于后端:ElasticSearch系列简介与安装

8次阅读

共计 2121 个字符,预计需要花费 6 分钟才能阅读完成。

全文检索

讲 ElasticSearch 之前, 须要先提一下 全文检索 .
全文检索 是计算机程序通过扫描文章中的 每一个词,对每一个词建设一个索引,指明该词在文章中呈现的次数和地位 。当用户 查问时依据建设的索引查找,相似于通过字典的检索字表查字的过程。

索: 建设索引 文本 —-> 切分 —> 词 文章呈现过 呈现多少次

检索: 查问 关键词 —> 索引中 –> 符合条件文章 相关度排序

全文检索 (Full-Text Retrieval) 以文本作为检索对象,找出含有指定词汇的文本。全面、精确和疾速是掂量全文检索零碎的要害指标。

  • 只解决文本、不解决语义
  • 搜寻时英文不辨别大小写
  • 后果列表有相关度排序

ElasticSearch 简介

什么是 ElasticSearch

ElasticSearch 简称 ES,是基于 Apache Lucene 构建的 开源搜索引擎 ,是以后最风行的 企业级搜索引擎Lucene 自身就能够被认为迄今为止性能最好的一款开源搜索引擎工具包,然而 lucene 的 API 绝对简单,须要深厚的搜寻实践。很难集成到理论的利用中去。ES 是采纳 java 语言编写,提供了简略易用的 RestFul API,开发者能够应用其简略的 RestFul API,开发相干的搜寻性能,从而防止 lucene 的复杂性

ElasticSearch 诞生

多年前,一个叫做 Shay Banon 的刚结婚不久的就业开发者,因为妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个晚期版本的Lucene

间接基于 Lucene 工作会比拟艰难,所以 Shay 开始形象 Lucene 代码以便 Java 程序员能够在利用中增加搜寻性能。他公布了他的第一个开源我的项目,叫做“Compass”。

起初 Shay 找到一份工作,这份工作处在 高性能和内存数据网格的分布式环境中 ,因而 高性能的、实时的、分布式的搜索引擎 也是天经地义须要的。而后他决定重写 Compass 库使其成为一个独立的服务叫做Elasticsearch

第一个公开版本呈现在 2010 年 2 月,在那之后 Elasticsearch 曾经成为 Github 上 最受欢迎的我的项目之一,代码贡献者超过 300 人。一家主营 Elasticsearch 的公司 就此成立,他们一边提供商业反对一边开发新性能,不过 Elasticsearch 将永远开源 且对所有人可用。

Shay 的妻子仍旧期待着她的 食谱搜寻……

目前国内大厂简直无一不必 Elasticsearch,阿里,腾讯,京东,美团 等等 …..

装置

  • 传统形式装置 下载安装包 —> 平台 window macos linux(ubuntu)
  • Docker 形式装置 举荐

传统形式装置

  1. 环境筹备
  2. centos7.x+、ubuntu、windows、macos
  3. 装置 jdk11.0+ 并配置环境变量 jdk8
  4. 下载 ES
  5. https://www.elastic.co/cn/start
  6. 装置 ES 不必应用 root 用户, 创立普通用户

    # 增加用户名
    $ useradd chenyn
    # 批改明码
    $ passwd chenyn
    # 普通用户登录
  7. 解压缩 ES 安装包

    $ tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz 
    $ ll
    总用量 650168
    drwxr-xr-x. 10 chenyn chenyn       167 8 月  16 11:07 elasticsearch-7.14.0

5 . 查看 ES 解压包中目录构造

[chenyn@localhost elasticsearch-7.14.0]$ ll
- bin         启动 ES 服务脚本目录
- config  ES 配置文件的目录
- data    ES 的数据寄存目录
- jdk     ES 提供须要指定的 jdk 目录
- lib     ES 依赖第三方库的目录
- logs    ES 的日志目录
- modules 模块的目录
- plugins 插件目录

  1. 启动 ES 服务

    ./elasticsearch-7.14.0/bin/elasticsearch
- 这个谬误时零碎 jdk 版本与 es 要求 jdk 版本不统一,es 默认须要 jdk11 以上版本, 以后零碎应用的 jdk8, 须要从新装置 jdk11 才行!
- 解决方案:
    1. 装置 jdk11+ 配置环境变量、2.ES 包中 jdk 目录就是 es 须要 jdk, 只须要将这个目录配置到 ES_JAVA_HOME 环境变即可、
  1. 配置环境变量

  2. export ES_JAVA_HOME= 指定为 ES 装置目录中 jdk 目录
  3. source /etc/profile

  4. 从新启动 ES 服务

    同步骤 6 
  5. 拜访 ES

    ES 启动默认监听 9200 端口, 拜访 9200
    curl http://localhost:9200
  1. 开启近程拜访

    默认 ES 无奈应用主机 ip 进行近程连贯, 须要开启近程连贯权限,
    批改 ES 安装包中 config/elasticsearch.yml 配置文件
    vim elasticsearch.yml
    重启 ES

Docker 形式装置

  1. 获取镜像

    docker pull elasticsearch:7.14.0
  2. 运行 es

    docker run -d -p 9200:9200 -p 9300:9300  -e "discovery.type=single-node"  elasticsearch:7.14.0
  3. 拜访 ES

    http://127.0.0.1:9200/

本文由 mdnice 多平台公布

正文完
 0