gbourgeat / elasticsearch-bundle
Symfony 的 Elasticsearch 扩展包。
Requires
- php: >=5.6
- doctrine/annotations: ~1.2
- doctrine/cache: ~1.4
- doctrine/collections: ~1.4
- doctrine/inflector: ~1.0
- gbourgeat/elasticsearch-dsl: ~5.0
- monolog/monolog: ~1.10
- symfony/console: ^2.8|^3.0
- symfony/framework-bundle: ^2.8|^3.0
- symfony/stopwatch: ^2.8|^3.0
- symfony/templating: ^2.8|^3.0
Requires (Dev)
- mikey179/vfsstream: ~1.4
- phpunit/phpunit: ~5.6
- satooshi/php-coveralls: ~1.0
- squizlabs/php_codesniffer: ~2.0
- symfony/browser-kit: ^2.8|^3.0
- symfony/dependency-injection: ^2.8|^3.0
- symfony/expression-language: ^2.8|^3.0
- symfony/options-resolver: ^2.8|^3.0
- symfony/serializer: ^2.8|^3.0
- symfony/twig-bundle: ^2.8|^3.0
- symfony/validator: ^2.8|^3.0
- symfony/yaml: ^2.8|^3.0
- v5.7.2.x-dev
- v5.7.2.4
- v5.7.2.3
- v5.7.2.2
- v5.7.2.1
- v5.7.2.0
- 5.0.x-dev
- v5.0.7
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v5.0.0-rc3
- v5.0.0-rc2
- v5.0.0-rc1
- 1.2.x-dev
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- 1.1.x-dev
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.x-dev
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v1.0.0-alpha.7
- v1.0.0-alpha.6
- v1.0.0-alpha.5
- v1.0.0-alpha.4
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.0
- v0.5.1
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-6.0-dev
- dev-legacy
This package is not auto-updated.
Last update: 2022-12-14 12:43:37 UTC
README
为了满足企业级 Symfony 应用与专业 Elasticsearch 集成的需求,创建了 Elasticsearch Bundle。这个扩展包是
- 由 ONGR.io 开发团队支持的。
- 使用官方 elasticsearch-php 客户端。
- 确保与 Symfony 框架的完全集成。
技术亮点
- 通过 CLI (
ongr:es:document:generate
) 提供交互式的文档对象生成器。 - 提供 DSL 查询构建器,由类型仓库服务执行。
- 使用注解实现类似 Doctrine 的文档(实体)文档对象映射。
- 提供方便的查询结果迭代器。
- 提供索引和类型管理以及数据导入/导出的控制台 CLI 命令。
- 集成到 Symfony 调试栏中的分析器,显示所有执行的查询。
- 设计成可扩展的,以满足您的所有定制需求。
如果您需要任何帮助,stack overflow 是询问 ONGR 扩展包和库的首选和推荐方式。
版本矩阵
Elasticsearch 版本 | ElasticsearchBundle 版本 |
---|---|
>= 5.0 | ~5.x |
>= 2.0, < 5.0 | >=1.0, < 5.0 |
>= 1.0, < 2.0 | >= 0.10, < 1.0 |
<= 0.90.x | < 0.10 |
文档
该扩展包的在线文档可以在 http://docs.ongr.io 找到。文档源存储在 repo 下的 Resources/doc/
,如果您看到错别字或问题,请提交 PR 修复它!
关于对文档的贡献,请查看 contribute 主题。
常见问题解答
设置扩展包
步骤 1: 安装 Elasticsearch 扩展包
Elasticsearch 扩展包使用 Composer 安装。
php composer.phar require ongr/elasticsearch-bundle "~5.0"
有关安装和部署 Elasticsearch 的说明,请参阅 Elasticsearch 安装页面。
在 AppKernel 中启用 Elasticsearch 扩展包
// app/AppKernel.php public function registerBundles() { $bundles = [ // ... new ONGR\ElasticsearchBundle\ONGRElasticsearchBundle(), ]; // ... }
步骤 2: 添加配置
为 Elasticsearch 扩展包添加最小配置。
# app/config/config.yml ongr_elasticsearch: managers: default: index: index_name: acme mappings: - AppBundle
这是一个非常基础的例子,更多详细信息请参阅 配置 章节。
在这个特定的例子中,有两件事你应该知道。索引节点中的索引名称和映射。映射是存储你的文档的地方(更多信息请参阅映射章节)。
步骤 3:将你的 Elasticsearch 类型定义为 Document
对象
此扩展程序使用对象来表示 Elasticsearch 文档。让我们为客户文档创建一个 Customer
类。
// src/AppBundle/Document/Customer.php namespace AppBundle\Document; use ONGR\ElasticsearchBundle\Annotation as ES; /** * @ES\Document() */ class Customer { /** * @var string * * @ES\Id() */ public $id; /** * @var string * * @ES\Property(type="text") */ public $name; }
这只是一个基本示例,有关映射的更多信息,请参阅映射章节。
步骤 4:创建索引和映射
Elasticsearch 扩展程序提供了一些 CLI
命令。其中之一是用于创建索引,请在您的终端中运行以下命令
bin/console ongr:es:index:create
有关其他命令的更多信息,请参阅命令章节。
步骤 5:享受 Elasticsearch 的乐趣
我们建议您查看映射章节以配置索引。有关 Elasticsearch 扩展程序的搜索文档在这里可用。最后,您将决定要创建哪些令人惊叹的事物 😎。
故障排除
许可证
此扩展程序根据 MIT 许可证授权。请参阅扩展程序中的完整许可证LICENSE
文件。