共计 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 形式装置 举荐
传统形式装置
- 环境筹备
- centos7.x+、ubuntu、windows、macos
- 装置 jdk11.0+ 并配置环境变量 jdk8
- 下载 ES
- https://www.elastic.co/cn/start
-
装置 ES 不必应用 root 用户, 创立普通用户
# 增加用户名 $ useradd chenyn # 批改明码 $ passwd chenyn # 普通用户登录
-
解压缩 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 插件目录
-
启动 ES 服务
./elasticsearch-7.14.0/bin/elasticsearch
- 这个谬误时零碎 jdk 版本与 es 要求 jdk 版本不统一,es 默认须要 jdk11 以上版本, 以后零碎应用的 jdk8, 须要从新装置 jdk11 才行!
- 解决方案:
1. 装置 jdk11+ 配置环境变量、2.ES 包中 jdk 目录就是 es 须要 jdk, 只须要将这个目录配置到 ES_JAVA_HOME 环境变即可、
-
配置环境变量
- export ES_JAVA_HOME= 指定为 ES 装置目录中 jdk 目录
-
source /etc/profile
-
从新启动 ES 服务
同步骤 6
-
拜访 ES
ES 启动默认监听 9200 端口, 拜访 9200 curl http://localhost:9200
-
开启近程拜访
默认 ES 无奈应用主机 ip 进行近程连贯, 须要开启近程连贯权限, 批改 ES 安装包中 config/elasticsearch.yml 配置文件 vim elasticsearch.yml 重启 ES
Docker 形式装置
-
获取镜像
docker pull elasticsearch:7.14.0
-
运行 es
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.0
-
拜访 ES
http://127.0.0.1:9200/
本文由 mdnice 多平台公布