elasticsearch导入数据的几种方法

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

   Elasticsearch一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。ElasticSearch也支持存储,查询,排序,分页等数据库的功能。

下面介绍下如何把数据导入Elasticsearch

第一种方法:手动导入

1、cat test.json

1
2
{"index":{"_index":"stuff_orders","_type":"order_list","_id":903713}}
{"real_name":"刘备","user_id":48430,"address_province":"上海","address_city":"浦东新区","address_district":null,"address_street":"上海市浦东新区广兰路1弄2号345室","price":30.0,"carriage":6.0,"state":"canceled","created_at":"2013-10-24T09:09:28.000Z","payed_at":null,"goods":["营养早餐:火腿麦满分"],"position":[121.53,31.22],"weight":70.0,"height":172.0,"sex_type":"female","birthday":"1988-01-01"}

2、导入elasticsearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@ELKServer opt]# curl -XPOST 'localhost:9200/stuff_orders/_bulk?pretty' --data-binary @test.json
{
   "took" : 600,
   "errors" : false,
   "items" : [ {
     "index" : {
       "_index" : "stuff_orders",
       "_type" : "order_list",
       "_id" : "903713",
       "_version" : 1,
       "_shards" : {
         "total" : 2,
         "successful" : 1,
         "failed" : 0
       },
       "status" : 201
     }
   } ]
}

3、查看elasticsearch是否存在数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@ELKServer opt]# curl localhost:9200/stuff_orders/order_list/903713?pretty
{
   "_index" : "stuff_orders",
   "_type" : "order_list",
   "_id" : "903713",
   "_version" : 1,
   "found" : true,
   "_source" : {
     "real_name" : "刘备",
     "user_id" : 48430,
     "address_province" : "上海",
     "address_city" : "浦东新区",
     "address_district" : null,
     "address_street" : "上海市浦东新区广兰路1弄2号345室",
     "price" : 30.0,
     "carriage" : 6.0,
     "state" : "canceled",
     "created_at" : "2013-10-24T09:09:28.000Z",
     "payed_at" : null,
     "goods" : [ "营养早餐:火腿麦满分" ],
     "position" : [ 121.53, 31.22 ],
     "weight" : 70.0,
     "height" : 172.0,
     "sex_type" : "female",
     "birthday" : "1988-01-01"
   }
}

第二种方法:从数据库中导入

参考:http://blog.csdn.net/laoyang360/article/details/51694519

1、下载安装插件elasticsearch-jdbc-2.3.4.0

1
weget http: //xbib .org /repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2 .3.4.0 /elasticsearch-jdbc-2 .3.4.0-dist.zip

elasticsearch-jdbc-2.3.4.0-dist.zip的版本要和你安装的elasticsearch对应。 

1
2
3
unzip elasticsearch-jdbc-2.3.4.0-dist.zip
mv  elasticsearch-jdbc-2.3.4.0  /usr/local/
cd  /usr/local/elasticsearch-jdbc-2 .3.4.0/

2、配置脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
vim  import .sh
#!/bin/sh
JDBC_IMPORTER_HOME= /usr/local/elasticsearch-jdbc-2 .3.4.0
bin=$JDBC_IMPORTER_HOME /bin
lib=$JDBC_IMPORTER_HOME /lib
echo  '{
"type"  "jdbc" ,
"jdbc" : {
"elasticsearch.autodiscover" : true ,
"elasticsearch.cluster" : "my-application" #簇名 详见:/usr/local/elasticsearch/config/elasticsearch.yml
"url" : "jdbc:mysql://localhost:3306/test" ,   #mysql数据库地址
"user" : "test" ,   #mysql用户名
"password" : "1234" ,   #mysql密码
"sql" : "select *,id as _id from workers_info" ,
"elasticsearch"  : {
   "host"  "192.168.10.49" ,
   "port"  : 9300
},
"index"  "myindex" ,   #新的index
"type"  "mytype"   #新的type
}
}'| java \
   - cp  "${lib}/*"  \
   -Dlog4j.configurationFile=${bin} /log4j2 .xml \
   org.xbib.tools.Runner \
   org.xbib.tools.JDBCImporter

chmod + import.sh

sh import.sh

3、查看数据是否导入elasticsearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@ELKServer bin] # curl -XGET 'http://localhost:9200/myindex/mytype/_search?pretty'
{
   "took"  : 15,
   "timed_out"  false ,
   "_shards"  : {
     "total"  : 5,
     "successful"  : 5,
     "failed"  : 0
   },
   "hits"  : {
     "total"  : 1,
     "max_score"  : 1.0,
     "hits"  : [ {
       "_index"  "myindex" ,
       "_type"  "mytype" ,
       "_id"  "AVZyXCReGHjmX33dpJi3" ,
       "_score"  : 1.0,
       "_source"  : {
         "id"  : 1,
         "workername"  "xing" ,
         "salary"  : 10000,
         "tel"  "1598232123" ,
         "mailbox"  "xing@qq.com" ,
         "department"  "yanfa" ,
         "sex"  "F" ,
         "qq"  : 736019646,
         "EmployedDates"  "2012-12-21T00:00:00.000+08:00"
       }
     } ]
   }
}

wKioL1e1dCCB5tn7AABBoLN-zp4909.png



本文转自 irow10 51CTO博客,原文链接:http://blog.51cto.com/irow10/1840034,如需转载请自行联系原作者

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7月前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
680 3
|
4月前
|
存储 Ubuntu Oracle
在Ubuntu 14.04上安装和配置Elasticsearch的方法
在Ubuntu 14.04上安装和配置Elasticsearch的方法
47 0
|
4月前
|
存储 安全 Java
在CentOS 7上安装和配置Elasticsearch的方法
在CentOS 7上安装和配置Elasticsearch的方法
278 0
|
7月前
|
Java
elasticsearch在Java中查询指定列的方法
elasticsearch在Java中查询指定列的方法
127 0
|
7月前
|
关系型数据库 MySQL Java
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
168 0
|
API 索引 Python
Python更新Elasticsearch数据方法大全
Python更新Elasticsearch数据方法大全
|
测试技术 对象存储 索引
阿里云ElasticSearch从OSS快照恢复总消耗时长统计方法
阿里云ElasticSearch从OSS快照恢复包含其他云厂商ES实例或本地IDC的ES实例中所有的索引,GET /_recovery包含独立索引从快照恢复的开始及结束时长,本方法统计ES实例级别的所有索引快照恢复时间,包含手动输入GET /_recovery及http请求两种信息获取方式。
|
分布式计算 Java Spark
白话Elasticsearch25-深度探秘搜索技术之四种常见的相关度分数优化方法
白话Elasticsearch25-深度探秘搜索技术之四种常见的相关度分数优化方法
82 0
|
SQL 数据可视化 BI
十三、.net core(.NET 6)搭建ElasticSearch(ES)系列之dotnet操作ElasticSearch进行存取的方法
.net core操作ES进行读写数据操作在Package包项目下,新增NEST包。注意,包版本需要和使用的ES的版本保持一致,可以避免因为不兼容所导致的一些问题。例如我本机使用的ES版本是7.13版本,所以我安装的NEST包也是7.13版本:
850 0
十三、.net core(.NET 6)搭建ElasticSearch(ES)系列之dotnet操作ElasticSearch进行存取的方法
|
JSON API 开发工具
ElasticSearch7入门(二)批量导入数据(Postman与Kibana)
ElasticSearch7入门(二)批量导入数据(Postman与Kibana)
1602 0
ElasticSearch7入门(二)批量导入数据(Postman与Kibana)