<?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'
],
'p_w_picpath_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);
转载于:https://blog.51cto.com/hehe1987/1842343