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

你可能感兴趣的文章
NIS服务器的配置过程
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NiuShop开源商城系统 SQL注入漏洞复现
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>
NLog类库使用探索——详解配置
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
NLP 模型中的偏差和公平性检测
查看>>
Vue3.0 性能提升主要是通过哪几方面体现的?
查看>>
NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
查看>>
NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
查看>>
NLP三大特征抽取器:CNN、RNN与Transformer全面解析
查看>>
NLP学习笔记:使用 Python 进行NLTK
查看>>
NLP度量指标BELU真的完美么?
查看>>
NLP的不同研究领域和最新发展的概述
查看>>
NLP的神经网络训练的新模式
查看>>
NLP采用Bert进行简单文本情感分类
查看>>
NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
查看>>
NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
查看>>
NLP:使用 SciKit Learn 的文本矢量化方法
查看>>