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

    你可能感兴趣的文章
    Node.js官网无法正常访问时安装NodeJS的方法
    查看>>
    Node.js的循环与异步问题
    查看>>
    Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
    查看>>
    nodejs + socket.io 同时使用http 和 https
    查看>>
    NodeJS @kubernetes/client-node连接到kubernetes集群的方法
    查看>>
    Nodejs express 获取url参数,post参数的三种方式
    查看>>
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>