<?php //集群设置 $hosts = [ '127.0.0.1:9200' ]; $client = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build(); //创建文档 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => ['testField' => 'abc'] ]; $response = $client->index($params); //获取文档 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; $response = $client->get($params); //查询文档 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'query' => [ 'match' => [ 'testField' => 'abc' ] ] ] ]; $response = $client->search($params); //删除文档 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; $response = $client->delete($params); //删除索引 $deleteParams = [ 'index' => 'my_index' ]; $response = $client->indices()->delete($deleteParams); //创建索引 $params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_shards' => 2, 'number_of_replicas' => 0 ] ] ]; $response = $client->indices()->create($params); //忽略异常 $params = [ 'index' => 'test_missing', 'type' => 'test', 'id' => 1, 'client' => [ 'ignore' => [400, 404] ] ]; $response = $client->get($params); //获取响应详细信息 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 1, 'client' => [ 'verbose' => true, 'ignore' => [400, 404] ] ]; $response = $client->get($params); //激活未来模式 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'client' => [ 'future' => 'lazy' ] ]; $future = $client->get($params); $response = $future->wait(); //空对象 $params = [ 'index' => 'megacorp', 'type' => 'employee', 'body' => [ 'query' => [ 'match_phrase' => [ 'about' => 'rock climbing' ] ], 'highlight' => [ 'fields' => [ ['about' => new \stdClass()] ] ] ] ]; $response = $client->search($params); $params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'my_type' => [ "include_in_all" => false, 'properties' => [ 'name' => [ 'type' => 'string', 'analyzer' => 'ik' ], 'price_now' => [ 'type' => 'double', 'index' => 'not_analyzed' ], 'image_thumb' => [ 'type' => 'string', 'index' => 'not_analyzed' ], 'sales_total' => [ 'type' => 'integer', 'index' => 'not_analyzed' ], 'comment' => [ 'type' => 'integer', 'index' => 'not_analyzed' ], 'create_date' => [ 'type' => 'string', 'index' => 'not_analyzed' ], 'status' => [ 'type' => 'byte', 'index' => 'no' ], 'sale' => [ 'type' => 'byte', 'index' => 'no' ] ] ] ] ] ]; $response = $client->indices()->create($params); print_r($response);