PHP中使用Elasticsearch的方法
内容导读
收集整理的这篇技术教程文章主要介绍了PHP中使用Elasticsearch的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3752字,纯文字阅读大概需要6分钟。
内容图文
这篇文章主要介绍了关于PHP中使用Elasticsearch的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下PHP中使用Elasticsearch
composer require elasticsearch/elasticsearch
会自动加载合适的版本!我的php是5.6的,它会自动加载5.3的elasticsearch版本!
Using version ^5.3 for elasticsearch/elasticsearch./composer.json has been updatedLoading composer repositories with package informationUpdating dependencies (including require-dev)Package operations: 4 installs, 0 updates, 0 removals - Installing react/promise (v2.7.0): Downloading (100%) - Installing guzzlehttp/streams (3.0.0): Downloading (100%) - Installing guzzlehttp/ringphp (1.1.0): Downloading (100%) - Installing elasticsearch/elasticsearch (v5.3.2): Downloading (100%) Writing lock fileGenerating autoload files
简单使用
<?phpclass MyElasticSearch{ private $es; // 构造函数 public function __construct() { include('../vendor/autoload.php'); $params = array( '127.0.0.1:9200' ); $this->es = ElasticsearchClientBuilder::create()->setHosts($params)->build(); } public function search() { $params = [ 'index' => 'megacorp', 'type' => 'employee', 'body' => [ 'query' => [ 'constant_score' => [ //非评分模式执行 'filter' => [ //过滤器,不会计算相关度,速度快 'term' => [ //精确查找,不支持多个条件 'about' => '谭' ] ] ] ] ] ]; $res = $this->es->search($params); print_r($res); }}
<?phprequire "./MyElasticSearch.php";$es = new MyElasticSearch();$es->search();
执行结果
Array( [took] => 2 [timed_out] => [_shards] => Array ( [total] => 5 [successful] => 5 [skipped] => 0 [failed] => 0 ) [hits] => Array ( [total] => 1 [max_score] => 1 [hits] => Array ( [0] => Array ( [_index] => megacorp [_type] => employee [_id] => 3 [_score] => 1 [_source] => Array ( [first_name] => 李 [last_name] => 四 [age] => 24 [about] => 一个PHP程序员,热爱编程,谭康很帅,充满激情。 [interests] => Array ( [0] => 英雄联盟 ) ) ) ) ))
下面是官方的一些样例:
初始化
require '../vendor/autoload.php';use ElasticsearchClientBuilder;$client = ClientBuilder::create()->build();
增加配置
$hosts = [ '127.0.01:9200', // IP + Port];$client = ClientBuilder::create() // Instantiate a new ClientBuilder->setHosts($hosts) // Set the hosts->build(); // Build the client object
或
$hosts = [ '127.0.01:9200', // IP + Port];$clientBuilder = ClientBuilder::create(); // Instantiate a new ClientBuilder$clientBuilder->setHosts($hosts); // Set the hosts$client = $clientBuilder->build(); // Build the client object
插入一个文档
// Index 一个文档$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => ['testField' => 'abc']];$response = $client->index($params);print_r($response);
获取一个文档
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id'];$response = $client->get($params);print_r($response);
查询一个文档
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'query' => [ 'match' => [ 'testField' => 'abc' ] ] ]];$response = $client->search($params);print_r($response);
删除一个文档
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id'];$response = $client->delete($params);print_r($response);
结果如下
Array( [_index] => my_index [_type] => my_type [_id] => my_id [_version] => 3 [result] => deleted [_shards] => Array ( [total] => 2 [successful] => 1 [failed] => 0 ) [_seq_no] => 2 [_primary_term] => 1)
删除一个索引
$deleteParams = [ 'index' => 'my_index'];$response = $client->indices()->delete($deleteParams);print_r($response);
创建一个索引
$params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_shards' => 2, 'number_of_replicas' => 0 ] ]];$response = $client->indices()->create($params);print_r($response);
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
PHP数据结构基础之栈
PHP操作Beanstalkd的方法及参数注释
以上就是PHP中使用Elasticsearch的方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP中使用Elasticsearch的方法全部内容,希望文章能够帮你解决PHP中使用Elasticsearch的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。