ElasticSearch入门学习笔记(二)软件安装篇

笔记记录 B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq.

链接:https://pan.baidu.com/s/1M5uWdYsCZyzIAOcgcRkA_A
提取码:qk8p
复制这段内容后打开百度网盘手机App,操作更方便哦

一、ElasticSearch-windows下安装

1.1安装

JDK8,最低要求
下载地址:https://www.elastic.co/cn/downloads/
历史版本下载:https://www.elastic.co/cn/downloads/past-releases/

1.2熟悉目录

在这里插入图片描述

bin 启动文件目录
config 配置文件目录
    1og4j2 日志配置文件
    jvm.options java 虚拟机相关的配置(默认启动占1g内存,内容不够需要自己调整)
    elasticsearch.ym1 elasticsearch 的配置文件! 默认9200端口!跨域!
1ib 
    相关jar包
modules 功能模块目录
plugins 插件目录
    ik分词器

1.3启动

在这里插入图片描述

1.4结果

在这里插入图片描述

二、安装可视化界面elasticsearch-head

使用前提:需要安装nodejs

2.1安装

下载地址 https://github.com/mobz/elasticsearch-head

2.2启动

cd elasticsearch-head
# 安装依赖
npm install
# 启动
npm run start
# 访问
http://localhost:9100/

2.3访问

存在跨域问题(只有当两个页面同源,才能交互)
同源(端口,主机,协议三者都相同)
https://blog.csdn.net/qq_38128179/article/details/84956552

开启跨域(在elasticsearch解压目录config下elasticsearch.yml中添加)

# 开启跨域
http.cors.enabled: true
# 所有人访问
http.cors.allow-origin: "*"

2.4连接测试

在这里插入图片描述

三、安装kibana

Kibana是一个针对ElasticSearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana ,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard )实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。

3.1、下载地址

下载地址: https://www.elastic.co/cn/downloads/
历史版本下载: https://www.elastic.co/cn/downloads/past-releases/

3.2启动

在这里插入图片描述

3.3访问

在这里插入图片描述

3.4、kibana如何汉化?

编辑器打开kibana解压目录/config/kibana.yml,添加

i18n.locale: "zh-CN"

四、IK分词器(elasticsearch插件)

下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases

4.1分词

即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词
(不使用用IK分词器的情况下),比如“汾河公园”会被分为”汾”,”河”,”公”,”园” ,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。

4.2IK提供了两个分词算法

ik_smart和ik_max_word ,其中ik_smart为最少切分, ik_max_word为最细粒度划分!

4.3安装

ik文件夹是自己创建的—>将下载的包解压到ElasticSearch的plugins目录ik文件夹下

在这里插入图片描述

4.4重启ElasticSearch

加载了IK分词器

在这里插入图片描述

4.5使用ElasticSearch安装补录/bin/elasticsearch-plugin 可以查看插件

E:\ElasticSearch\elasticsearch-7.6.1\bin>elasticsearch-plugin list

在这里插入图片描述

4.6使用kibana测试

ik_smart:最小切分

在这里插入图片描述

ik_max_word:最细粒度划分(穷尽词库的可能)

在这里插入图片描述

问题:例如:“狂神说”希望它不分开

4.7手动将该词添加到分词器的词典当中

elasticsearch目录/plugins/ik/config/IKAnalyzer.cfg.xml

在这里插入图片描述

打开 IKAnalyzer.cfg.xml 文件,扩展字典

在这里插入图片描述

重启ElasticSearch,再次使用kibana测试

在这里插入图片描述

其他操作见https://www.kuangstudy.com/bbs/1354069127022583809

五、数据库同步数据-- 使用logstash

下载链接:链接: https://www.elastic.co/fr/downloads/logstash. 在 past releases.找到logstash-6.1.4.zip 解压

5.1解压后操作

进入bin目录中创建:一个bin文件夹(本例子为bin,命名随意),jdbc.sql,logstash.conf文件

(一)bin文件夹中放数据库连接包https://pan.baidu.com/s/1ijqD2oQ8_yPQMPErjY9uXQ. 密码:6vfb

(二)jdbc.sql 文件放入下面sql语句:

SELECT * from cm_user

(三)logstash.conf

  input {
    stdin {
    
    }
    jdbc {
       # mysql 数据库链接,mybatis为数据库名
      jdbc_connection_string => "jdbc:mysql://192.168.1.153:3306/cmRetireSystem"
      # 用户名和密码
      jdbc_user => "用户名"
      jdbc_password => "密码"
      # 驱动 修改为mysql连接包位置
      jdbc_driver_library => "D:/ESKS/logstash-7.6.1/bin/bin/mysql-connector-java-5.1.7-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      # 执行的sql 文件路径+名称 
      statement_filepath => "jdbc.sql"
      # 设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
    }
}
output {
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["localhost:9200"]
        # 索引名称 可自定义
        index => "test"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{user_id}"
        document_type => "test"
    }
    stdout {
        # JSON格式输出
        codec => json_lines
    }
}

5.2配置多个表映射到ES

1、只需要在jdbc中加入type ;
2、在output 中使用type判断即可;

input {
    stdin {
    
    }
    jdbc {
      type => "cm_role"
       # mysql 数据库链接,mybatis为数据库名
      jdbc_connection_string => "jdbc:mysql://localhost:3306/mybatis"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "密码"
      # 驱动 修改为mysql连接包位置
      jdbc_driver_library => "D:/ESKS/logstash-7.6.1/bin/bin/mysql-connector-java-5.1.7-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      # 执行的sql 文件路径+名称 
      statement => "select * from cm_role"
      # 设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
    }
 jdbc {
      type => "cm_person_pack"
       # mysql 数据库链接,mybatis为数据库名
      jdbc_connection_string => "jdbc:mysql://localhost:3306/mybatis"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "密码"
      # 驱动 修改为mysql连接包位置
      jdbc_driver_library => "D:/ESKS/logstash-7.6.1/bin/bin/mysql-connector-java-5.1.7-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      # 执行的sql 文件路径+名称 
      statement => "select * from cm_person_pack"
      # 设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
    }
}
output {
     if [type]=="cm_role" {
     elasticsearch {
        # ES的IP地址及端口
        hosts => ["localhost:9200"]
        # 索引名称 可自定义
        index => "test_role"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{role_id}"
        document_type => "test"
    }

     }
     if [type]=="cm_person_pack" {

    elasticsearch {
        # ES的IP地址及端口
        hosts => ["localhost:9200"]
        # 索引名称 可自定义
        index => "test_pack"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{pack_id}"
        document_type => "test"
    }
     }

    stdout {
        # JSON格式输出
        codec => json_lines
    }
}

5.3启动

在这里插入图片描述

输入  logstash -f logstash.conf   (logstash.conf  文件创建的路径+文件名)

5.4成功

在这里插入图片描述

5.5浏览器中再次输入:http://localhost:9100

在这里插入图片描述

显示出数据

在这里插入图片描述

六、在linux下安装

学习查阅的博客: ElasticSearch最新版快速入门详解

ElasticSearch入门学习笔记(一)概念篇
ElasticSearch入门学习笔记(三)SpringBoot整合篇
SpringBoot集成BBOSS-ElasticSearch实现ElasticSearch客户端
阿里云Docker安装ES\ES_Head\安装部署logstash导mysql数据入ElasticSearch

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java亮小白1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值