• ElasticSearch系列-简介与安装详解



    全文检索

    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. 环境准备

    • centos7.x+、ubuntu、windows、macos

    • 安装jdk11.0+ 并配置环境变量 jdk8

    1. 下载ES

    • https://www.elastic.co/cn/start

    1. 安装ES不用使用root用户,创建普通用户

    1. # 添加用户名
    2. $ useradd chenyn
    3. # 修改密码
    4. $ passwd chenyn
    5. # 普通用户登录
    1. 解压缩ES安装包

    1. $ tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz
    2. $ ll
    3. 总用量 650168
    4. drwxr-xr-x. 10 chenyn chenyn 167 816 11:07 elasticsearch-7.14.0

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

    1. [chenyn@localhost elasticsearch-7.14.0]$ ll
    2. - bin 启动ES服务脚本目录
    3. - config ES配置文件的目录
    4. - data ES的数据存放目录
    5. - jdk ES提供需要指定的jdk目录
    6. - lib ES依赖第三方库的目录
    7. - logs ES的日志目录
    8. - modules 模块的目录
    9. - plugins 插件目录

    1. 启动ES服务

    ./elasticsearch-7.14.0/bin/elasticsearch
    

    1. - 这个错误是系统jdk版本与es要求jdk版本不一致,es默认需要jdk11以上版本,当前系统使用的jdk8,需要从新安装jdk11才行!
    2. - 解决方案:
    3. 1.安装jdk11+ 配置环境变量、
    4. 2.ES包中jdk目录就是es需要jdk,只需要将这个目录配置到ES_JAVA_HOME环境变即可、
    1. 配置环境变量

    1. vim /etc/profile
    2. - export ES_JAVA_HOME=指定为ES安装目录中jdk目录
    3. - source /etc/profile
    1. 重新启动ES服务

    同步骤6
    
    1. 访问ES

    1. ES启动默认监听9200端口,访问9200
    2. curl http://localhost:9200

    1. 开启远程访问

    1. 默认ES无法使用主机ip进行远程连接,需要开启远程连接权限,
    2. 修改ES安装包中config/elasticsearch.yml配置文件
    3. vim elasticsearch.yml
    4. 重启ES

    Docker方式安装

    1. 获取镜像

    docker pull elasticsearch:7.14.0
    
    1. 运行es

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

    http://127.0.0.1:9200/
    

    今天的分享就到这里,喜欢的朋友欢迎点赞收藏!!

  • 相关阅读:
    基于SpringBoot的“冬奥会科普平台”的设计与实现(源码+数据库+文档+PPT)
    贯穿设计模式第二话--开闭原则
    2023了,是时候使用pnpm了!
    硬盘的简单介绍
    【ElasticSearch】学习使用DSL和RestClient编写查询语句
    06 装饰(Decorator)模式
    Android常见分区
    docker下安装apollo多环境(DEV 和UAT)
    [每日一氵] windows cmake 安装
    Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小
  • 原文地址:https://blog.csdn.net/Rocky006/article/details/132870745