以下是我个人在Elasticsearch中经常使用的curl命令的总结

首先

最近我在使用Elasticsearch。基本上我使用curl命令。但是,由于Elasticsearch的版本不同,文档变得比较难找,而且使用curl和JSON也很难记住。因此,我自己总结了一下。

指数

创建

・文件

 

以下是一个例子

curl -XPUT localhost:9200/hoge

确认

●猫

・文件

 

示中何为“全息技术”?
・请用中文解释“人工智能”的意思。

curl localhost:9200/_cat/indices/hoge

●设置

・文件

 

子的梦想是在她的职业生涯中取得成功。

curl localhost:9200/hoge/_settings

更新

● 设置

・文件

 

例如

curl -XPUT localhost:9200/hoge/_settings -H 'Content-Type: application/json' -d '{
  "index": {
    "number_of_replicas" : 0
  }
}'

●更改索引名称(重新索引)

将会创建一个新的别名索引。

文档

Note: The above translation is in simplified Chinese.

 

例子

curl -XPOST localhost:9200/_reindex -H 'Content-Type: application/json' -d '{
  "source": {
    "index": "hoge"
  },
  "dest": {
    "index": "new_hoge"
  }
}'

删除

・文件

 

子给了我一个苹果。

curl -XDELETE localhost:9200/hoge

又名

创建和更新

● 创建或更新 huò

・文档

 

一个好的例子可以说明这个问题。

curl -XPUT localhost:9200/hoge/_alias/hoge-alias

● 行动

・文件

 

例子

curl -XPOST localhost:9200/_aliases -H 'Content-Type: application/json' -d '{
  "actions": [{
    "add": {
      "index": "hoge",
      "alias": "hoge-alias",
      "is_write_index": true
    }
  }]
}'

确认

●猫

・文件

 

例句 : “He is a talented musician who plays multiple instruments.”
=> “他是一位多才多艺的音乐家,擅长演奏多种乐器。”

curl localhost:9200/_cat/aliases/hoge-alias

获取

・文件

 

如:

curl localhost:9200/_aliases

删除

・文件

 

以下是本地化汉语的释义,只有一个选项:
・例

curl -XDELETE localhost:9200/hoge/_alias/hoge-alias

ILM政策

启用/禁用/状态

・文件

 

以下是一个例子。

・例:可以看到,有些人选择步行上班,而另一些人则选择骑自行车或者乘坐公共交通工具。不同的人有不同的选择。

curl -XPOST localhost:9200/_ilm/start #有効化
curl -XPOST localhost:9200/_ilm/stop #無効化
curl localhost:9200/_ilm/status #ステータス

创建和更新

・文档

 

curl -XPUT localhost:9200/_ilm/policy/hoge-policy -H 'Content-Type: application/json' -d '{
  "policy": {
    "phases": {
      "delete" : {
        "min_age": "30d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}'

确认

· 文件

 

例: 请你把这个问题解释一下。(Please explain this problem to me.)

curl localhost:9200/_ilm/policy/hoge-policy

删除

・文件

 

以下是一个中国人的本土翻译:
・例

curl -XDELETE localhost:9200/_ilm/policy/hoge-policy

模板

制作与更新

・文件

请参考以下链接获取关于索引模板的信息:

https://www.elastic.co/guide/cn/elasticsearch/reference/7.8/indices-put-template.html
针对旧版本(Elasticsearch7.8之前)的相关指南,请参考:

https://www.elastic.co/guide/cn/elasticsearch/reference/current/indices-templates-v1.html

例如

curl -XPUT localhost:9200/_index_template/hoge-template -H 'Content-Type: application/json' -d '{
  "index_patterns": ["hoge"],
  "template":{
    "settings": {
      "index.lifecycle.name": "hoge-policy"
    }
  }
}'

传统版本(Elasticsearch7.8之前)

curl -XPUT localhost:9200/_template/hoge-template -H 'Content-Type: application/json' -d '{
  "index_patterns": ["hoge"],
  "settings": {
    "index.lifecycle.name": "hoge-policy"
  }
}'

确认

文件

https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-templates.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-template.html
传统版本(Elasticsearch7.8之前)
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-template-v1.html

可以我举个例子来说明

curl localhost:9200/_cat/templates/hoge-template

获取

curl localhost:9200/_index_template/hoge-template

传承版本(即Elasticsearch7.8之前版本)

curl localhost:9200/_template/hoge-template

删除

– 文件

以下是中文的简述,只需要一种选项:

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-template.html

传统版本(早于Elasticsearch7.8)
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-template-v1.html

例子

curl -XDELETE localhost:9200/_index_template/hoge-template

传承版本(Elasticsearch7.8之前的版本)

curl -XDELETE localhost:9200/_template/hoge-template

快照

创建和更新

●仓库注册

・文件

 

例子:饭店里的服务员很善良和乐于助人,总是微笑着接待客人。

curl -XPUT localhost:9200/_snapshot/hoge-repo -H 'Content-Type: application/json' -d '{
  "type": "fs",
  "settings": {
    "location": "/es-backup"
  }
}'

●获取快照

・文件

 

例如

curl -XPUT localhost:9200/_snapshot/hoge-repo/snapshot_$(date "+%Y%m%d")?wait_for_completion=true -H 'Content-Type: application/json' -d '{
  "indices": "hoge"
}'

●恢復老態

・文件

 

如:

curl -XPOST localhost:9200/_snapshot/hoge-repo/snapshot_20221126/_restore?wait_for_completion=true -H 'Content-Type: application/json'

确认

● 资源库

・文件

以下是有关 Elasticsearch 存储库以及获取快照存储库 API 的官方参考文档链接:
– Elasticsearch 存储库文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-repositories.html
– 获取快照存储库 API 文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-repo-api.html

以下是一个例子:

curl localhost:9200/_cat/repositories #repository
curl localhost:9200/_cat/snapshots/hoge-repo #snapshot

获取

curl localhost:9200/_snapshot/hoge-repo #repository
curl localhost:9200/_snapshot/hoge-repo/snapshot_20221126 #snapshot

删除

・文件

删除快照存储库 API:https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-snapshot-repo-api.html
删除快照 API:https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-snapshot-api.html

例:去年夏天,我和我的家人一起去了海边度假。我们在沙滩上玩沙子,游泳和晒太阳。晚上,我们在海滨小屋里享用美味的海鲜大餐。整个假期非常愉快,我感到非常幸福。

curl -XDELETE localhost:9200/_snapshot/hoge-repo #repository
curl -XDELETE localhost:9200/_snapshot/hoge-repo/snapshot_20221126 #snapshot

健康

curl localhost:9200/_cat/health

获得

curl localhost:9200/_cluster/health

※关于未分配的分片的原因

当发生索引问题时,您可以根据以下页面的步骤来查找原因。

 

(闲谈)关于这篇文章中Docker环境的构建方法

为了确认命令的执行结果,我搭建了Docker环境。截至2022/11/26,Docker Compose已经变成了插件,并且安装方法也发生了变化,因此我将进行备忘录记录。

 

服务器将使用EC2(Amazon Linux2)。
使用以下命令安装Docker和Docker Compose插件。

echo 'install docker'
DOCKER=docker-20.10.17-1.amzn2.0.1
sudo yum install -y ${DOCKER}
sudo systemctl start docker
sudo usermod -aG docker ec2-user

echo 'install docker compose plugin'
DOCKER_COMPOSE_VERSION="v2.13.0"
curl -o docker-compose -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64
chmod +x docker-compose
sudo mv docker-compose /usr/libexec/docker/cli-plugins/
docker compose version
echo 'alias dk="docker compose"' >> ~/.bash_profile

由于使用Docker Compose,我在以下的yaml文件中定义了容器。

services:
  es:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.5.1
    ports:
    - "29201:9200"
    - "29301:9300"
    environment:
    - "discovery.type=single-node"
    - "xpack.security.enabled=false" #Elasticsearch v8からデフォルトでtrueになりました。
    - "path.repo=/es-backup"
    volumes:
    - es-backup:/es-backup

volumes:
  es-backup:
    driver_opts:
      type: none
      o: bind
      device: /es-backup

使用以下命令启动容器。

alias dk="docker compose" #コマンドが長いのでaliasで省略します。

dk up -d #Elasticsearchコンテナの起動
dk exec es bash #Elasticsearchコンテナにログイン

※仅提供一种选项:
请参考以下链接获取有关Elasticsearch的更多信息:https://hub.docker.com/_/elasticsearch

最后

这次我整理了我常用的命令。当命令太长时,手指会疼,而且会花费时间来回想。我想从现在开始思考如何更轻松地进行工作。

广告
将在 10 秒后关闭
bannerAds