博客
关于我
全文搜索引擎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编写TCP服务端和客户端程序
    查看>>
    php编码规范
    查看>>
    PHP编码规范-PSR1、psr2 /psr3 psr4
    查看>>
    PHP编程效率的20个要点
    查看>>
    PHP网页缓存技术优点及代码
    查看>>
    PHP自动化测试(一)make test 和 phpt
    查看>>
    php自定义函数: 文件大小转换成智能形式
    查看>>
    php英语单词,php常用英语单词,快速学习php编程英语(6)
    查看>>
    R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0
    查看>>
    PHP获取curl传输进度
    查看>>
    PHP获取IP所在地区(转)
    查看>>
    PHP获取IP的方法对比
    查看>>
    php获取json里面内容
    查看>>
    R2的版本由来
    查看>>
    PHP获取图片宽度高度、大小尺寸、图片类型、用于布局的img属性
    查看>>
    PHP获取当前文件的绝对路径
    查看>>
    PHP获取当前时间、时间戳的各种格式写法汇总
    查看>>
    PHP获取当前页面的完整URL
    查看>>
    php获取数据库中数据生成json,中文乱码问题的解决方案
    查看>>
    php获取文件夹中文件的两种方法
    查看>>