elasticsearch使用方法(一)

创建索引

curl -XPUT 'http://localhost:9200/blogs' -d '
{
     "settings": {
         "number_of_shards": 3,
         "number_of_replicas": 1
     }, 
     "mappings": {
    } 
} 

添加数据(一)

curl -XPUT 'http://localhost:9200/blogs/_doc/{_id}' -d '
{
     "title":"This is a article about Docker",
     "category":"Docker Info", 
}

修改数据(一)

curl -XPOST ' localhost:9200/blogs/user/1/_update' -d '
{
     "doc":{
         "category":"Docker anyone"
     }
 }

修改数据(二)

curl 'http://127.0.0.1:9200/blogs/_doc/1/_update' -d '
 {
     "script":{
         "lang":"painless",
         "inline":"ctx._source.hit += 10"
     }
 }'

修改数据(三)

curl 'http://127.0.0.1:9200/blogs/_doc/1/_update' -d '
 {
     "script":{
         "lang":"painless",
         "inline":"ctx._source.hits = params.hits",
         "params":{
             "hits":100
         }
     }
 }'

Docker安装elasticsearch

本文转自:https://www.cnblogs.com/powerbear/p/11298135.html

一、打开docker官方仓库,搜索elasticsearch以查看需要下载的版本,拉取镜像的时候,官方推荐要指定版本号,目前最新7.3.0

https://hub.docker.com

搜索elasticsearch后,点击tags查看版本更新列表,目前我下载7.3.0的,格式 :镜像名称:tag

二 拉取elasticsearch镜像,目前官方最新版本7.3.0

 由于墙的原因,下载比较慢,需要修改docker的镜像为阿里云的镜像仓库,详情请搜索

拉取镜像的时候,官方推荐要指定版本号,如果没有指定,默认是:  镜像名:latest  下载最新版本,这是不推荐的方式,要避免这样使用

以下开始从阿里云拉取镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.0

三 使用镜像创建容器,启动elasticsearch服务

分两种方式,开发者模式和生产模式,开发者不需要配置太多,直接一行命令搞定,生产模式需要更多的配置

1.开发者模式

1.1创建网络

如果需要安装kibana等其他,需要创建一个网络,名字任意取,让他们在同一个网络,使得es和kibana通信

docker network create esnet

1.2 创建并启动elasticsearch容器

1.2.1查看镜像

docker images

1.2.2创建运行

docker run --name es  -p 9200:9200 -p 9300:9300  --network esnet -e "discovery.type=single-node" bdaab402b220

–name 名称                                                  给容器起个名字

-p 外部访问端口:容器端口                            9200是供htpp访问端口,9300是供tcp访问的端口,如果不做端口映射,浏览器就不能访问elasticsearch的服务

–network 网络名                                          用于多个服务通信与隔离,例如用kibana连接elasticsearch就需要他们在同一个网络下

bdaab402b220                                            通过docker images命令查看到需要创建的容器id,此处用镜像名也可以


tips:run怎么使用?那么长怎么记,大概记一下,万能命令是

docker run --help

1.2.3 查看正在运行的容器,以确认elasticsearch容器是否创建成功

docker ps

可以看到status状态是up,说明已经在docker中成功运行了elasticseach

打开浏览器访问http://192.168.61.128:9200/  可以看到如下结果

ip地址换成你的linux主机的ip