首页 > 其他分享 >ES01--介绍与安装

ES01--介绍与安装

时间:2022-10-05 22:44:51浏览次数:52  
标签:全文检索 -- 索引 elasticsearch 分片 ES01 安装 ES

一 ES介绍

# Elasticsearch产生背景
  -大数据量如何存储和检索
    
  # 补充:  
    -NoSql:not only sql,泛指非关系型的数据库
    -Nginx的7层负载均衡和4层负载均衡
    
    
# Elasticsearch介绍
  -是一个基于Lucene的分布式搜索和分析引擎 
    
  -是一个开源的高扩展的分布式 全文检索 引擎
     它可以近乎实时的存储、检索数据;
     本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据

  -使用Java开发:安装jdk
  -在Apache许可条款下开放源码发布 
  -是当前流行的企业级搜索引擎:稳定可靠,企业里普遍使用
    
  -使用Lucene作为其核心来实现所有索引和搜索的功能
   但目的是通过简单的RESTful API来隐藏Lucene的复杂性,使得全文检索变得简单
    
  # 目前把它当成是存数据的地方,可以进行大数据量的存储,查询需要使用它  
    

# Apache了解
  -Apache公司
    --开源组织,全球顶级的开源组织,开源了一些代码
      --> 第三方机构要把自己的代码开源
      --> 捐给Apache基金会
      --> 安排人给维护开源项目
    --顶级开源项目:Kafak,ES,百度Echars
        
  -apache服务器:web服务器(nginx)
  
        
# 设计用途
  用于分布式全文检索,通过HTTP使用JSON进行数据索引,速度快
    
    
# Lucene与Elasticsearch的关系
  -Lucene是Java的一个库,只能java使用,并且复杂
    
  -Elasticsearch是遵循restful规范 封装Lucene的功能,从而全文检索变得简单


# Elasticsearch vs solr
  类似于mysql和oracle的关系
    -都是分布式的搜索引擎,不是一个软件,核心本质一样 都是Java编写
    -ES 基于Lucene
    -ES 集成度高,solr需要更多插件支持
    -Solr是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用

    
# ES核心概念
  -Cluster: 集群  可单台搜索服务器,也可多台ES服务器配合使用

  -Node   : 节点  形成集群的每个服务器称为节点
    
  -Shard  : 分片  数据可以分为较小的分片 每个分片放到不同的服务器上
    
  -Replia : 副本  为提高查询吞吐量或实现高可用性,副本是一个分片的精确复制,每个分片可以有零个或多个副本
    
  -全文检索 : 在一篇文档中搜索要的内容
    如果想查的数据快,肯定不是基于mysql的那种索引方式 ---> 基于倒排索引,实现的全文检索
    
    全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句
    全文索引就是把内容根据词的意义进行分词,然后分别创建索引
   
    eg: “今日是周日我们出去玩” 可能会被分词成:“今天“,”周日“,“我们“,”出去玩“ 等token
        这样当你搜索“周日” 或者 “出去玩” 都会把这句搜出来
 
    
# 与关系型数据库Mysql对比
  mysql          Elasticsearch
   数据库    --->    索引
   表       --->    类型   # es 6以后 一个索引下只能有一个类型, 7以后 完全不允许
   行       --->    文档
   建表语句  --->    映射
    
    
# 逻辑设计:文档(行数据) ---> 类型(表) ---> 索引(数据库)


# 物理设计
  一个集群包含至少一个节点,而一个节点就是一个elasticsearch进程。节点内可以有多个索引
    
  默认的,如果你创建一个索引,那么这个索引将会有5个分片(primary shard,又称主分片)构成
  而每个分片又有一个副本(replica shard,又称复制分片),这样就有了10个分片

  

# ELK是什么: 做日志收集和分析系统
  ELK = elasticsearch + Logstash + kibana
    
  elasticsearch : 后台分布式存储以及全文检索
  logstash      : 日志加工、“搬运工”
  kibana        : 数据可视化展示
    
  ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管理链
  三者相互配合,取长补短,共同完成分布式大数据处理工作
    
    
    
# 我们的业务场景
  -搜索功能  全文检索服务
  -ES作为存储和检索服务器 来替代传统的NoSQL,它的横向扩展机制太方便了
    

    
# Elasticsearch索引到底能处理多大数据
  理论上机器够,无限数据
    
  一个es索引默认5个分片,一个分片是一个lucene索引
  一个Lucene索引,不能处理多于21亿篇文档,或者多于2740亿的唯一词条
  
  

# haystack只支持es2版本  只支持6之前的版本
  Haystack是django的开源全文搜索框架  
    该框架支持Solr、Elasticsearch、Whoosh(python写的全文检索服务 简单,不需要额外安装软件)

二 安装

1 ES安装

# ES服务端安装
  -安装jdk1.8 以上   # 目前java19,85%以上的公司还在用1.8
  -下载es版本 ---> 解压---> bin路径下---> elastcsearch.bat


# 浏览器输入:
  http://127.0.0.1:9200/   # 能看到返回就安装成功
        
        
# 端口:      
  9100:ElasticSearch-head
  9200:elasticsearch
  5601:kibana
    
    
# ES客户端:  可视化工具
  -浏览器   : 不能发送post请求
  -postman : ES接受http的请求
  -kibana  : 官方提供
  -elasticsearch-head : 第三方node写的
  # 没有桌面版的客户端 

2 kibana安装

# kibana: 官方提供的
  -Kibana 是一款开源的数据分析和可视化平台
  -Kibana 一定要跟es版本对应,用的都是7.5.0
    
# 官方下载 解压 就可以运行

# 配置连接ES
  -conf文件夹下 kibana.yml文件
    # kibana监听的端口和地址
    server.port: 5601
    server.host: "127.0.0.1"
    server.name: lqz
        
    # 连接哪个es服务器
    elasticsearch.hosts: ["http://localhost:9200/"]

3 elasticsearch-head安装

# elasticsearch-head : 第三方开发的 (node.js开发的,先装node环境)
  
  https://github.com/mobz/elasticsearch-head

# 下载,解压
  npm install    # 安装依赖
  npm run serve  # 运行起来


# 配置跨域  会出现跨域问题
  -ES服务端的 config文件夹下 elasticsearch.yml文件
    # 添加配置时 :后必须空格,不然启动闪退
    http.cors.enabled: true
    http.cors.allow-origin: "*"
        
        
# 查看:浏览器输入
  http://localhost:9100/

4 ES安装 官方/第三方插件

# 三种安装方式
# 推荐用第三种

官方插件地址:https://github.com/elastic/elasticsearch/tree/master/plugins

### 第一种:命令行
bin/elasticsearch-plugin install [plugin_name]
  eg: bin/elasticsearch-plugin install analysis-smartcn  # 安装中文分词器

        
### 第二种:url安装
bin/elasticsearch-plugin install [url]
  eg: bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip

            
### 第三种:离线安装
 https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip
        
1.点击下载analysis-smartcn离线包
2.将离线包解压到ElasticSearch 安装目录下的 plugins 目录下
3.重启es  # 新装插件必须要重启es

# 注意:插件的版本要与 ElasticSearch 版本要一致

标签:全文检索,--,索引,elasticsearch,分片,ES01,安装,ES
From: https://www.cnblogs.com/Edmondhui/p/16756639.html

相关文章

  • 面向对象的特性
    一、继承(一)继承的概念生活中的继承,一般指的是子女继承父辈的财产。Python面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法,具体如......
  • Debug命令和汇编指令介绍
    8086CPU地址:物理地址:段地址16+偏移地址逻辑地址:段地址:偏移地址物理内存地址:段地址16+偏移地址逻辑内存地址:段地址:偏移地址内存单元=1Byte。内存单元是字节单元,也就......
  • P7361 「JZOI-1」拜神 (字符串)
    题意:给一个串,\(Q\)次询问区间\([l,r]\)中至少出现两次的子串的最大长度。写LCT是什么东东以下做法很经典:先求出SA以及height数组,然后按height从大到小每次加......
  • say goodbye to Heroku All In One
    saygoodbyetoHerokuAllInOnePersonalapps|Herokuhttps://dashboard.heroku.com/appsStartingNovember28th,2022,freeHerokuDynos,freeHerokuPostgr......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境Ub......
  • ubuntu 安装和网络等设置备忘
    1、ubuntu22.04.1镜像1.4G左右,现在有的华三实体机上安装。1.1华三实体机webconsole信息:adminPassword@_1.2离线安装ubuntu有好几个地方停卡的,需要细研究一下2、大于2......
  • js格式化文件大小
    constsizeUnit=['Bytes','KB','MB','GB','TB'];functionformatSize(fileSizeInBytes){constsizeType=parseInt(Math.floor......
  • NAT的简单概述
    作者:Three链接:https://www.lofter.com/lpost/1f01bc1b_1c61e1ed6来源:LOFTERNAT(NetworkAddressTranslation)网络地址转换IP地址已经变得稀缺和昂贵(当到完全采用IPV6)。S......
  • 实验3:OpenFlow协议分析实践
    实验3:OpenFlow协议分析实践一、实验目的能够运用wireshark对OpenFlow协议数据交互过程进行抓包;能够借助包解析工具,分析与解释OpenFlow协议的数据包交互过程与机......
  • 通过cmd和Powershell管理Windows服务
    cmd添加服务:sccreate"YourServiceName"binpath="<yourproject>.exe"启动服务:scstart"YourServiceName"停止服务:scstop"YourServiceName"删除服务:scdelete"You......