全文检索

讲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总用量 650168drwxr-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端口,拜访9200curl 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多平台公布