博客
关于我
全文搜索引擎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
  • 文档ID1
  • 字段: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/

    你可能感兴趣的文章
    PHP:PDOStatement::bindValue参数类型php5和php7问题
    查看>>
    Q媒体播放器.如何播放具有多个音频的视频?
    查看>>
    pickle
    查看>>
    Pickle thread.lock(Pymongo)
    查看>>
    pickle模块
    查看>>
    qYKVEtqdDg
    查看>>
    pid控制
    查看>>
    PID控制介绍-ChatGPT4o作答
    查看>>
    PID控制器数字化
    查看>>
    Qwen-VL项目使用指南
    查看>>
    PIESDKDoNet二次开发配置注意事项
    查看>>
    PIGS POJ 1149 网络流
    查看>>
    PIL Image对图像进行点乘,加上常数(等像素操作)
    查看>>
    PIL Image转Pytorch Tensor
    查看>>
    PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
    查看>>
    PIL.Image、cv2的img、bytes相互转换
    查看>>
    PIL.Image进行图像融合显示(Image.blend)
    查看>>
    pilicat-dfs 霹雳猫-分布式文件系统
    查看>>
    Pillow lacks the JPEG 2000 plugin
    查看>>
    SpringBoot之ElasticsearchRestTemplate常用示例
    查看>>