docker安装elasticsearch和使用es

安装elasticsearch

  • docker pull elasticsearch:7.4.2
  • docker run -d --name es3 -p 9202:9202 -p 9302:9302 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v d:/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml c9c606d302fb

安装Kibana

  • docker pull elasticsearch:7.2.0
  • docker run -d --name kibana -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://192.168.56.1:9200 kibana:7.4.2

操作ES

  • 创建索引和映射
$hosts = [
    '127.0.0.1:9200', //IP+端口
];
$client = \Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();

$params = [
    'index' => 'users',
    'body' => [
        'settings' => [
            'number_of_shards' => 3,
            'number_of_replicas' => 2
        ],
        'mappings' => [
            '_source' => [
                'enabled' => true
            ],
            'properties' => [
                'name' => [
                    'type' => 'keyword'
                ],
                'age' => [
                    'type' => 'integer'
                ],
                'mobile' => [
                    'type' => 'text'
                ],
                'email' => [
                    'type' => 'text'
                ],
                'birthday' => [
                    'type' => 'date'
                ],
                'address' => [
                    'type' => 'text'
                ]
            ]
        ]
    ]
];
$response = $client->indices()->create($params);
print_r($response);
  • 单一索引
$params = [
    'index' => 'users',
    'id'    => 1,
    'body'  => [
        'name'     => '张三',
        'age'      => 10,
        'email'    => 'zs@gmail.com',
        'birthday' => '1990-12-12',
        'address'  => '北京'
    ]
];
$client->index($params);
  • 获取文档
$params = [
    'index' => 'users',
    'id'    => 1
];
$response = $client->get($params);
  • 更新文档
$params = [
    'index' => 'users',
    'id'    => 1,
    'body'  => [
        'doc' => [
            'address' => '测试'
        ]
    ]
];
$response = $client->update($params);
print_r($response);

  • 删除文档
$params = [
    'index' => 'users',
    'id'    => 1,
];
$response = $client->delete($params);
print_r($response);

官方文档

posted @ 2021-12-02 09:27  惊风破浪的博客  阅读(109)  评论(0编辑  收藏  举报