ElasticSearch@Windows使用指南

首先下载ElasticSearch zip包,网上有个网友说目前Windows支持的最高版本是 1.7.3,我就没敢使用更高的了,不过我是为了快速测试,所以对版本要求不严。下载后解压到某个目录下。

然后下载ElasticSearch-jdbc zip 包,这个是用来从关系型数据库导数据建索引的一个插件,同样是1.7.3版本。如果需要中文分词的插件,还需要从 github 上下载 ik zip 包。

这两个插件必须解压到 ElasticSearch 的 plugins 目录下,如果没有就自行创建一个。大致上下面这个样子,我是直接把 elasticsearch-jdbc里面的东西直接放到 plugins下面,而中文分词的放在了 ik 文件夹下。

然后编写生成 ES 索引的脚本,放到 jdbc 的 bin 目录下, 还需要写一个.bat脚本去执行这个索引生成脚本。

1. 索引生成脚本 jdbc_oracle.json : 

 

{
    "type": "jdbc",
    "jdbc": {
        "url": "jdbc:oracle:thin:@<server>:1521:HEBTA_PDB",
        "user": "IMEDSCN",
        "password": "1med$cnHebt@",
        "sql":"select concept_id as \"_id\", concept_name from concept",    
        "schedule" : "0 42 18 ? * *",
        "index": "concept_index",
        "type": "url"
    }
}

2. oracle_to_es.bat 脚本:

 

 

set DIR=D:\Allen\software\elasticsearch-1.7.3\plugins
set LIB="%DIR%\lib\*"
set BIN="%DIR%\bin\*"
"%JAVA_HOME%\bin\java" -cp "%LIB%" -Dlog4j.configurationFile=file://%DIR%\bin\log4j2.xml "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" jdbc_oracle.json


由于我的关系型数据库是oracle,所以需要引入 ojdbc6.jar,还需要引入 ElasticSearch 依赖的 lucene-**.jar (貌似只需要 lucene-core-4.10.4.jar),我为了方便吧 ElasticSearch/lib/lucene-**.jar 全部拷贝到 jdbc/lib 下:

 

 

再就开始索引生成工作了,首先让 ElasticSearch 服务起来,直接运行 elasticsearch.bat :

等待 ES 服务完全好了后,就可以用 ES-jdbc 导数据建索引了,很简单,这个时候只需要执行 jdbc/bin 下面的 oracle_to_es.bat 脚本:

系统会 oracle_to_es.bat 所在的目录下生成一个 logs 文件夹,里面有个 jdbc.log 文件,如果出错或成功,都有记录:

如果索引创建成功,日志大约是这样子的:

 

[13:57:27,273][INFO ][importer.jdbc            ][main] index name = concept_index, concrete index name = concept_index
[13:57:27,293][INFO ][importer.jdbc            ][pool-2-thread-1] strategy standard: settings = {password=1med$cnHebt@, type=url, user=IMEDSCN, index=concept_index, sql=select concept_id as "_id", concept_name from concept, url=jdbc:oracle:thin:@120.26.137.71:1521:HEBTA_PDB}, context = org.xbib.elasticsearch.jdbc.strategy.standard.StandardContext@17e34044
[13:57:27,297][INFO ][importer.jdbc.context.standard][pool-2-thread-1] found sink class org.xbib.elasticsearch.jdbc.strategy.standard.StandardSink@1c4d9716
[13:57:27,325][INFO ][importer.jdbc.context.standard][pool-2-thread-1] found source class org.xbib.elasticsearch.jdbc.strategy.standard.StandardSource@21e2ce04
[13:57:27,366][INFO ][BaseTransportClient      ][pool-2-thread-1] creating transport client, java version 1.8.0_60, effective settings {cluster.name=elasticsearch, port=9300, sniff=false, autodiscover=false, name=importer, client.transport.ignore_cluster_name=false, client.transport.ping_timeout=5s, client.transport.nodes_sampler_interval=5s}
[13:57:27,428][INFO ][org.elasticsearch.plugins][pool-2-thread-1] [importer] loaded [support-1.7.0.0-8e7ca71], sites []
[13:57:28,269][INFO ][BaseTransportClient      ][pool-2-thread-1] trying to connect to [inet[localhost/127.0.0.1:9300]]
[13:57:28,674][INFO ][BaseTransportClient      ][pool-2-thread-1] connected to [[Fashima][F3zSJ0ZOSOewNr4VAzzmVA][leizj-PC][inet[localhost/127.0.0.1:9300]]]
[13:57:28,703][INFO ][importer.jdbc.sink.standard][pool-2-thread-1] creating index concept_index with settings =  and mappings = 
[13:57:29,056][INFO ][BaseIngestTransportClient][pool-2-thread-1] index concept_index created


此时可以通过浏览器检查下索引情况:

 

 


 

 

=============2018/08/02==========

ES-jdbc 版本更新到 2.4.3 就方便多了,参考

Elasticsearch-jdbc使用说明

elasticsearch-jdbc的安装和使用

这两个链接比较很说明问题,但是 ES 最好要配套使用,之前我使用 5.6.8,这个是跟我项目的 spring-boot 有关,我是直接引入 spring-boot-starter-data-elasticsearch 包的。但是这个版本太高了,执行索引生成的脚本报版本不匹配的错误,类似 ElasticSearch_异常_02。后来换成 2.4.3.0 就成功了。

我本地的windows索引脚本:

@echo off

rem set DIR=D:\software\elasticsearch-jdbc-2.3.4.0
set DIR=%~dp0
set LIB=%DIR%..\lib\*
set BIN=%DIR%..\bin

REM ???
echo {^
    "type" : "jdbc",^
    "jdbc" : {^
        "url" : "jdbc:mysql://47.104.241.186:3306/snomedct",^
        "user" : "root",^
        "password" : "root__2018DCH",^
        "sql" :  "SELECT CONCEPT_ID as \"_id\", CONCEPT_NAME, VOCABULARY_ID FROM CONCEPT",^
        "treat_binary_as_string" : true,^
        "type":"mytype",^
        "index" : "concept_ind_bj"^
      }^
}^ | "%JAVA_HOME%\bin\java" -cp "%LIB%" -Dlog4j.configurationFile="%BIN%\log4j2.xml" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值