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

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

安装Elasticsearch并创建简单搜索数据库

作为数据库爱好者,您已经了解了如何安装Elasticsearch,现在让我们一起创建一个简单的搜索数据库,方便您进行日常开发和测试。下面是详细的操作指南。

一、启动Elasticsearch

启动Elasticsearch前,请确保已完成安装。开启终端,并进入Elasticsearch的安装目录,执行以下命令:

./bin/elasticsearch -d

二、验证启动情况

确保命令正确执行,可以运行以下命令查看启动状态:

ps aux | grep elasticsearch

성공显示会有 elasticsearch 进程运行,说明Elasticsearch已经成功启动。

三、插入数据

接下来,我们将使用curl命令插入一些测试数据。假设您的数据库结构如下:

  • 数据库名:csdn
  • 表名(index)**:**people
  • 文档ID:1
  • 字段:name、age、profile、hobby

插入一个测试文档,执行以下命令:

curl -X PUT "localhost:9200/csdn/people/1?pretty" -H 'Content-Type: application/json' -d({    "name": "$2",    "age": "$3",    "profile": "$4",    "hobby": ["$5", "$6"]})

请注意参数的顺序和格式,确保脚本能够正常执行。

四、批量插入数据(可选)

如果您需要批量插入数据,可以根据实际需求修改脚本。以下是一个简单的Bash脚本模板:

#!/bin/bash# 使用方法: sh 01-insert-data.sh ID name age profile hobby ...# 检查输入参数if [[ $# -gt 1 ]]; then  ID=$1  name=$2  age=$3  profile=$4  hobby=$5 兴趣="}"  if [[ $6 ]]; then hobby=','$6'; fi  if [[ $7 ]]; then hobby=','$7'; fi  data="{    \"name\": \"$name\",    \"age\": \"$age\",    \"profile\": \"$profile\",    \"hobby\": [${hobby}]  }"  curl -X PUT "localhost:9200/csdn/people/${ID}?pretty" -H 'Content-Type: application/json' -d ${data}  exit 0fi

五、验证数据插入

运行脚本后,执行以下命令查看数据是否已插入:

curl -X GET "localhost:9200/csdn/people/1/_source

预期返回的JSON数据应与插入的数据相符。如还需要更详细的操作,请参考ES 官方文档。

六、常见问题解决

  • 安装目录错误:请确保运行命令时所在目录是Elasticsearch的安装目录。
  • 参数顺序错误:脚本对参数的依次验证至关重要,乱序可能导致失败。
  • 字符处理问题:脚本对引号和空格处理严格,确保输入无误。
  • 超时问题:可考虑提高ES节点数或优化网络连接。
  • 七、后续操作

    • 如果需要归档数据,可以使用Elasticsearch的restapi进行CRUD操作。
    • 对于更复杂的应用场景,建议结合Elasticsearch的高级功能,如组合索引、动态映射等。

    希望这篇文档能为您提供实用的帮助!

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

    你可能感兴趣的文章
    Python+Selenium自动化测试:Page Object模式
    查看>>
    python+selenium进行cnblog的自动化登录测试
    查看>>
    Python函数只返回第一个值而不是数据框
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(上)
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(下)
    查看>>
    PYTHON+Twisted+sqlanydb=ABORT()
    查看>>
    Python函数之返回值、作用域和局部变量
    查看>>
    Python+统计学 | 探索常用的数据分析统计分布
    查看>>
    python, selenium中用于切换帧的函数
    查看>>
    python函数
    查看>>
    python----线程、进程、协程的区别及多线程详解
    查看>>
    python---5
    查看>>
    python---使用celery分布式系统异步发送短信(云通讯)来验证登录
    查看>>
    python--003--百分号字符串拼接、format
    查看>>
    Python--10、线程
    查看>>
    Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
    查看>>
    python--基本代码规范
    查看>>
    Python--抽象类接口类
    查看>>
    PYTHON--欧拉习题二
    查看>>
    python--高级应用总结
    查看>>