博客
关于我
全文搜索引擎ElasticSearch弹性搜索教程(二)简单插入数据(使用bash脚本语言)
阅读量:584 次
发布时间:2019-03-11

本文共 1516 字,大约阅读时间需要 5 分钟。

前言:

上一次讲了怎么安装,今天就来创建个数据库来个简单搜索吧!


启动ES

进入安装目录下,使用如下命令:

./bin/elasticsearch -d

注意:目录结构如下:

目录不要进错了,相信大家有基础都没问题!

可选步骤:使用下面的命令查看是否启动成功:

tips

建议大家在其他地方新建一个文件夹,放置我们写的bash脚本文件

如果没有curl,可以使用apt安装


开始了

如果不在脚本里,我们的插入数据格式应该是这样的(我这里使用curl插入,在官方教程里,不叫数据库和数据表,人家叫作索引和类型,这里方便理解所以写作数据库、表,希望大家勿怪):

curl -X PUT "localhost:9200/数据库/表/id?pretty" -H 'Content-Type: application/json' -d'{    "字段" : "值",    "字段" : 数值,    "字段": [        "值1",        "值2"    ]}'

我们大概需要五个东西:数据库名、表名、id和字段、值,所以我们设置bash脚本,应该接受至少五个参数,我设计了个简单的让大家参考,大家有兴趣可以自己设计更强大的(我放图片的原因是为了让大家手动撸码,不复制粘贴,撸码时注意符号,bash的空格很严格,单引号和双引号也很严格。):

这个时候我并没有执行这个脚本,只是打印一下确定我这个是正确的,下面是测试运行的结果

看来是没问题,下面我们就可以进行数据插入了!

只需要改动一些地方,即可完成插入代码(这里大家仔细看,有很多地方都变动了,都是关于引号的,作者也调试了好几分钟才找到错误的引号,如果嫌麻烦,可以重新打一遍,抱歉):

然后进行测试插入数据:

可以看到这样的json数据就输出了,看到这个,就说明成功插入了,现在,大家可以修改一下数据去做一个自己的“数据库”

加油!


源码

#!/bin/bash                                                                                                                             # 使用方法: bash 01-add_info.sh ID 姓名 年龄 个人介绍 爱好# 判断输入的数据是否合法if ! [[ $1 && $2 && $3 && $4 && $5 ]]then    echo "bash xxx.sh ID 姓名 年龄 个人介绍 爱好..."    exit 1fi# curl_base_cmd='curl -X PUT "localhost:9200/csdn/people/'$1'?pretty" -H \'Content-Type: application/json" -d"data='{    "姓名":     "'$2'",    "年龄":     '$3',    "个人介绍": "'$4'",    "爱好":     [        "'$5'"'if [[ $6 ]]then    data=$data',"'$6'"'fiif [[ $7 ]]then    data=$data',"'$7'"'fi# 只允许插入三个爱好,多了不行data=$data']}'curl -X PUT "localhost:9200/csdn/people/$1?pretty" -H 'Content-Type: application/json' -d"$data"exit 0# 0代表正确退出

 

转载地址:http://cnftz.baihongyu.com/

你可能感兴趣的文章
mysql 协议的退出命令包及解析
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>