博客
关于我
全文搜索引擎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/

你可能感兴趣的文章
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>
MySQL DELETE 表别名问题
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>
MVC 区域功能
查看>>
MySQL FEDERATED 提示
查看>>
mysql generic安装_MySQL 5.6 Generic Binary安装与配置_MySQL
查看>>
Mysql group by
查看>>
MySQL I 有福啦,窗口函数大大提高了取数的效率!
查看>>