windows下操作elasticsearch(一)

本文详细介绍了在Windows上安装Elasticsearch的过程,包括分词器的安装,并讲解了如何使用logstash从MySQL同步数据到Elasticsearch。此外,还提及了通过Java操作Elasticsearch的基本步骤,包括客户端实例化和基本查询操作。文章结尾预告了后续将讨论的查询分组、分页及集群操作。
摘要由CSDN通过智能技术生成


elasticsearch6.X以上需要jdk1.8,本教程适用6.X

安装

安装: https://www.cnblogs.com/hts-technology/p/8477258.html
分词器下载:https://github.com/medcl/elasticsearch-analysis-ik/releases
在安装文件夹的plugins文件夹下面新建analysis-ik文件夹,把分词器压缩文件解压放进去

mysql数据同步到elasticsearch

logstash插件可以定时单向同步数据到elasticsearch

logstash安装

下载地址:https://www.elastic.co/downloads/logstash
选择对应版本,下载后直接解压即可
设置内存大小
在这里插入图片描述
启动:bin/logstash.bat 双击运行

数据同步

1、准备mysql驱动包:mysql-connector-java-5.1.26.jar
2、在bin文件夹下新建文件夹mysql,驱动包放里面
在bin文件夹下新建文件夹conf
新建配置文件:popu_info.conf

input {
   
  jdbc {
   
    jdbc_driver_library => ".\mysql\mysql-connector-java-5.1.26.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://192.0.0.77:3306/pt_zongzhi"
    jdbc_user => "root"
    jdbc_password => "123456"
    schedule => "* * * * *"
    statement => "select * from popu_info where PUPDATETIME > :sql_last_value"
    last_run_metadata_path => "syncpoint_popu_info"
  }
}
output {
   
    elasticsearch {
   
        index => "popu_info"
        document_id => "%{pid}" # 用数据库表哪个字段标识更新字段
        hosts => "localhost:9200"
    }
}

配置文件说明

input:
dbc_driver_library: jdbc mysql 驱动的路径,在上一步中已经下载
jdbc_driver_class: 驱动类的名字,mysql 填 com.mysql.jdbc.Driver 就好了
jdbc_connection_string: mysql 地址
jdbc_user: mysql 用户
jdbc_password: mysql 密码
schedule: 执行 sql 时机,类似 crontab 的调度,最低频率1分钟
statement: 要执行的 sql,以 “:” 开头是定义的变量,可以通过 parameters 来设置变量,这里的 sql_last_value 是内置的变量,表示上一次 sql 执行中 update_time 的值,这里 update_time 条件是 >= 因为时间有可能相等,没有等号可能会漏掉一些增量
use_column_value: 使用递增列的值
tracking_column_type: 递增字段的类型,numeric 表示数值类型, timestamp 表示时间戳类型
tracking_column: 递增字段的名称,这里使用 update_time 这一列,这列的类型是 timestamp
last_run_metadata_path: 同步点文件,这个文件记录了上次的同步点,重启时会读取这个文件,这个文件可以手动修改
output:
hosts: es 集群地址
user: es 用户名
password: es 密码
index: 导入到 es 中的 index 名,这里我直接设置成了 mysql 表的名字
document_id: 导入到 es 中的文档 id,这个需要设置成主键,否则同一条记录更新后在 es 中会出现两条记录,%{
   pid} 表示引用 mysql 表中 id 字段的值

3、修改config/pipelines.yml文件
在最后一行加入

- pipeline.id: popu_info
path.config: ..\bin\conf\popu_info.conf

几个表就写几个配置文件

java操作elasticsearch

  • 引入jar
<!-- 原生 -->
<dependency>
	<groupId>org.elasticsearch
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值