ulff / elasticsearch-php-client-bundle
用于将 Symfony2.x/3.x 与 Elasticsearch-PHP 5.0 集成的非常简单的组件
2.3.0
2018-03-07 11:21 UTC
Requires
- php: >=5.5
- elasticsearch/elasticsearch: ~5.0
- symfony/framework-bundle: ~2.1|~3.0|~4.0
This package is not auto-updated.
Last update: 2024-09-14 18:26:13 UTC
README
设置组件
版本矩阵
您需要将 Elasticsearch 的版本与库的相应版本匹配。
步骤 1: 安装组件
使用 composer 安装组件
php composer.phar require "ulff/elasticsearch-php-client-bundle:2.0"
在 AppKernel.php 中启用组件
// app/AppKernel.php public function registerBundles() { $bundles = [ // ... new Ulff\ElasticsearchPhpClientBundle\UlffElasticsearchPhpClientBundle(), ]; // ... }
步骤 2: 添加组件配置
将以下配置添加到 config.yml
# app/config/config.yml ulff_elasticsearch_php_client: elastic_host: "localhost" elastic_port: "9200"
请将值替换为正确的值。
用法
客户端使用
Elasticsearch 客户端作为服务可用
$client = $this->get('ulff_elasticsearch_php_client.client');
创建新索引
$indexParams = new IndexParams('index-name', 'type-name', 'id'); $indexParams->setBody(['someField' => 'some value']); $response = $client->index($indexParams);
返回 IndexResponse 对象。
获取文档
$getParams = new GetParams('index-name', 'type-name', 'id'); $response = $client->get($getParams);
返回 GetResponse 对象。
删除文档
$deleteParams = new DeleteParams('index-name', 'type-name', 'id'); $response = $client->delete($deleteParams);
返回 DeleteResponse 对象。
按查询删除
$deleteParams = new DeleteByQueryParams('index-name', 'type-name'); $deleteParams->setBody([ 'query' => [ 'match_all' => new \stdClass(), ] ]); $response = $client->deleteByQuery($deleteParams);
返回 DeleteByQueryResponse 对象。
执行搜索查询
$searchParams = new SearchParams('index-name', 'type-name'); $searchParams->setBody([ 'query' => [ 'match' => [ 'someField' => 'some value' ] ] ]); $response = $client->search($searchParams);
更新文档
$updateParams = new UpdateParams('index-name', 'type-name', 'id'); $updateParams->setBody(['someField' => 'some value']); $response = $client->update($updateParams);
返回 UpdateResponse 对象。
清理器使用
组件提供了清除整个索引(通过删除并重新创建空索引)的可能性。这可以用于测试等目的。
提供了一个独立的 ulff_elasticsearch_php_client.purger
服务。以下示例展示了如何清除索引
$purger = $this->get('ulff_elasticsearch_php_client.purger'); $purger->purgeIndex('index_name');
完整文档
此组件是以下 Elasticsearch-PHP 版本的客户端:
请遵循那里的文档。
许可证
此组件采用 MIT 许可证。请参阅组件中的完整许可证 LICENSE
文件。