Elasticsearch 基本操作-基于 CMD 命令行

本文介绍如何通过命令行工具操作Elasticsearch,包括创建、删除索引库,新增、更新和删除文档等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们可以通过 CMD 命令行界面、Kibana、各种主流语言的客户端来操作和管理 Elasticsearch。

这里我们主要采用的是 Windows 中的 cmder(一个命令行工具,自带 curl 命令等)。

Windows 中使用 curl 命令的注意事项:

  • curl 的目标地址可以不用引号括起来,如果要用,只能用双引号。
  • header 头的写法:-H "Content-Type: application/json"
  • json 格式的数据必须用反斜线进行转义。
  • 如果需要换行继续输入,需在行尾用 ^ 符号。

Index 索引库

查看当前节点的所有 Index

curl -X GET localhost:9200/_cat/indices?v
curl -X GET http://localhost:9200/_cat/indices?v
curl -X GET "http://localhost:9200/_cat/indices?v"

返回结果:

health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   .kibana OIGeqCZPRmCnysU5P0Ks8g   1   1          1            0      3.1kb          3.1kb

说明:

  • health:代表索引的健康情况。green 表示完全正常;yellow 表示功能正常,有些副本节点未分配(单节点的常见情况);red 表示有些数据不可用,功能不正常。
  • 如果返回结果只有第一行的标题行,说明集群中没有索引,可手动创建。

创建 Index

# 创建一个名称为 alibaba 的 Index(索引库)
curl -X PUT localhost:9200/alibaba

返回结果如下:

{"acknowledged":true,"shards_acknowledged":true}

删除 Index

curl -X DELETE localhost:9200/alibaba

说明: 删除 Index 就是删除索引库(包含里面的记录),切勿在正式环境中操作。

列出每个 Index 包含的 Type

curl "localhost:9200/_mapping?pretty=true"

Document 文档

新增记录

# 在 alibaba/user 中,新增一条记录(文档),记录的 id 为 1
curl -X PUT localhost:9200/alibaba/user/1 -d {\"name\":\"rose\"}

curl -X PUT localhost:9200/alibaba/user/1 -H "Content-Type: application/json" -d {\"name\":\"rose\"}

返回结果:

{                         
  "_index" : "alibaba",   
  "_type" : "user",       
  "_id" : "1",            
  "_version" : 1,         
  "result" : "created",   
  "_shards" : {           
    "total" : 2,          
    "successful" : 1,     
    "failed" : 0          
  },                      
  "created" : true        
}                         

上述示例中,alibaba 代表 Index,user 代表 Type,如果它们不存在,会自动创建。1 代表记录的 id。

新增记录时,也可以不指定 id,这时服务器会自动生成一个随机字符串作为该记录的 id。

curl -X POST localhost:9200/alibaba/user -d {\"name\":\"jack\"}

返回结果:

{"_index":"alibaba","_type":"user","_id":"AWvx2bkAtj-co4pkgSQO","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"created":true}

查看记录

# 查看 alibaba/user/1 记录
curl localhost:9200/alibaba/user/1

# 查看 alibaba/user/1 记录(会对结果进行格式化)
curl localhost:9200/alibaba/user/1?pretty

说明:?pretty 表示对返回结果进行格式化,以便更易于阅读。

返回结果:

{                        
  "_index" : "alibaba",  
  "_type" : "user",      
  "_id" : "1",           
  "_version" : 1,        
  "found" : true,        
  "_source" : {          
    "name" : "rose"      
  }                      
}                        
# 查看 alibaba/user 中的所有记录
curl localhost:9200/alibaba/user/_search

更新记录

# 更新指定的记录,采用 PUT 请求,当然也可以用 POST
curl -X PUT localhost:9200/alibaba/user/1?pretty -d {\"name\":\"rose_1\"}

返回结果:

{                       
  "_index" : "alibaba", 
  "_type" : "user",     
  "_id" : "1",          
  "_version" : 2,       
  "result" : "updated", 
  "_shards" : {         
    "total" : 2,        
    "successful" : 1,   
    "failed" : 0        
  },                    
  "created" : false     
}                       

可以发现,version(版本)变为了2,result的值变为了 updated,created 的值为 false。

删除记录

curl -X DELETE localhost:9200/alibaba/user/1?pretty

返回结果:

{
  "found" : true,
  "_index" : "alibaba",
  "_type" : "user",
  "_id" : "1",
  "_version" : 3,
  "result" : "deleted",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  }
}

总结

虽然,我们可以直接用 CMD 命令行来操作 Elasticsearch,但是,总的来说,它还是不大方便。因此,强烈推荐使用 Kibana 来操作 Elasticsearch。

### 如何通过命令行启动 Ollama-DeepSeek 对于特定于 Ollama-DeepSeek 的操作,通常涉及配置环境变量以及执行具体的命令来初始化服务或应用。假设 Ollama-DeepSeek 是基于某种检索增强生成 (RAG) 架构构建的服务,并且依赖像 Elasticsearch 或类似的搜索引擎技术,在命令行环境中启动此应用程序的一般流程如下所示[^1]。 #### 设置环境变量 为了确保程序能够访问必要的资源和服务端口,可能需要设置一些环境变量: ```bash export DEEPSEEK_ELASTICSEARCH_HOST="http://localhost:9200" export OPENAI_API_KEY="your_azure_openai_api_key_here" ``` 这里 `DEEPSEEK_ELASTICSEARCH_HOST` 定义了连接到本地运行的 Elasticsearch 实例的位置;而 `OPENAI_API_KEY` 则用于认证请求发送给 Azure OpenAI API 服务所需的密钥。 #### 启动 Ollama-DeepSeek 应用 一旦所有的前置条件都已满足,可以通过调用 Python 脚本或其他可执行文件来启动应用程序。这取决于项目的具体实现方式,下面给出了一种常见的做法: ```bash python3 -m deepseek_app.runserver --host=0.0.0.0 --port=8000 ``` 上述命令假定存在名为 `deepseek_app` 的模块,并且其中含有负责启动 Web 服务器的方法 `runserver`。参数 `--host` 和 `--port` 分别指定了监听地址和端口号。 请注意,实际使用的命令可能会有所不同,具体取决于项目结构和个人开发习惯。此外,考虑到安全性和合规性方面的要求,建议仔细阅读并遵循相关许可协议中的规定[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值