全文搜索引擎ElasticSearch弹性搜索教程(二)简单插入数据(使用bash脚本语言)

前言:

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


启动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 1
fi

# 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'"'
fi
if [[ $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代表正确退出

 

展开阅读全文
©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读