博客
关于我
全文搜索引擎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中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>