pawellen / elasticsearch-bundle
Symfony 的 Elasticsearch 扩展包 (Fork)
Requires
- php: ^8.1
- doctrine/annotations: ^1.6
- doctrine/cache: ^1.7
- doctrine/collections: ^1.5
- elasticsearch/elasticsearch: ^7.0
- monolog/monolog: ^1.24
- ongr/elasticsearch-dsl: ^7.0
- symfony/cache: ^4.4|^5.4|^6.4
- symfony/console: ^4.4|^5.4|^6.4
- symfony/dependency-injection: ^4.4|^5.4|^6.4
- symfony/finder: ^4.4|^5.4|^6.4
- symfony/framework-bundle: ^4.4|^5.4|^6.4
- symfony/property-access: ^4.4|^5.4|^6.4
- symfony/serializer: ^4.4|^5.4|^6.4
- symfony/stopwatch: ^4.4|^5.4|^6.4
- symfony/string: *
Requires (Dev)
- mikey179/vfsstream: ~1.6
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.0
- symfony/browser-kit: ^4.4|^5.4|^6.4
- symfony/expression-language: ^4.4|^5.4|^6.4
- symfony/options-resolver: ^4.4|^5.4|^6.4
- symfony/twig-bundle: ^4.4|^5.4|^6.4
- symfony/validator: ^4.4|^5.4|^6.4
- symfony/yaml: ^4.4|^5.4|^6.4
- dev-master / 7.2.x-dev
- v7.2.2
- v7.2.1
- v7.2.0
- v7.1.6
- v7.1.5
- v7.1.3
- v7.1.2
- v7.1.1
- v7.1.0
- 7.0.x-dev
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- 6.2.x-dev
- v6.2.3
- v6.2.2
- v6.2.1
- v6.2.0
- 6.1.x-dev
- v6.1.0
- v6.1.0-beta
- 6.0.x-dev
- v6.0.1
- v6.0.0
- v6.0.0-beta2
- v6.0.0-beta
- 5.2.x-dev
- v5.2.6
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- 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
- v1.2.10
- 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
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 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
This package is auto-updated.
Last update: 2024-09-12 09:52:31 UTC
README
Elasticsearch 扩展包是为了满足专业级 Elasticsearch 集成到企业级 Symfony 应用程序的需求而创建的。此扩展包是
- 使用官方 elasticsearch-php 客户端。
- 确保与 Symfony 框架和 Symfony Flex 完全集成。
技术特性
- 提供了一种 DSL 查询构建器,以客观的方式表示所有 ElasticSearch 端点。
- 通过 CLI 命令 (
ongr:es:document:generate
) 提供交互式文档对象生成器。 - 创建了一种熟悉的 Doctrine 样式来处理文档(实体)文档对象映射,使用注解。
- 提供多个查询结果迭代器,方便您处理结果。
- 提供索引管理和数据导入/导出/重索引的 CLI 命令。
- 分析器集成到 Symfony 调试栏中,并显示所有执行的查询。
- 设计为可扩展的,以满足您的所有定制需求。
- 支持 Symfony FLEX。
如果您需要任何帮助,Stack Overflow 是获取答案的首选方式。这是询问 ONGR 扩展包和库问题的首选和推荐方式。
如果您喜欢这个库,请通过购买一杯咖啡来帮助我开发它
版本矩阵
文档
该扩展包的在线文档可在 http://docs.ongr.io 找到。文档源代码存储在仓库中的 Resources/doc/
目录下,如果您发现错误或一些不准确之处,请提交一个 PR 或至少一个 issue 以修复它!
有关对文档的贡献,您可以在 contribute 主题中找到。
常见问题解答
设置扩展包
步骤 1:安装 Elasticsearch 扩展包
Elasticsearch 扩展包使用 Composer 进行安装。
php composer.phar require ongr/elasticsearch-bundle "~6.0"
有关安装和部署 Elasticsearch 的说明,请参阅 Elasticsearch 安装页面。
在您的 AppKernel 中启用 ElasticSearch 扩展包
<?php // config/bundles.php return [ // ... ONGR\ElasticsearchBundle\ONGRElasticsearchBundle::class => ['all' => true], ];
(可选) 步骤 2:添加配置
添加 Elasticsearch 扩展包的最小配置。
# config/packages/ongr_elasticsearch.yaml ongr_elasticsearch: analysis: filter: edge_ngram_filter: #-> your custom filter name to use in the analyzer below type: edge_ngram min_gram: 1 max_gram: 20 analyzer: eNgramAnalyzer: #-> analyzer name to use in the document field type: custom tokenizer: standard filter: - lowercase - edge_ngram_filter #that's the filter defined earlier indexes: App\Document\Product: hosts: [elasticsearch:9200] # optional, the default is 127.0.0.1:9200
这只是一个非常基本的示例,有关更多信息,请参阅 配置章节。
步骤 3:将您的 Elasticsearch 类型定义为 Document
对象
此扩展包使用对象来表示 Elasticsearch 文档。让我们为 products
索引创建一个 Product
类。
// src/Document/Product.php namespace App\Document; use ONGR\ElasticsearchBundle\Annotation as ES; /** * //alias and default parameters in the annotation are optional. * @ES\Index(alias="products", default=true) */ class Product { /** * @ES\Id() */ public $id; /** * @ES\Property(type="text", analyzer="eNgramAnalyzer") */ public $title; /** * @ES\Property(type="float") */ public $price; }
这只是一个基本的示例,有关映射的更多信息,请参阅 映射章节。
步骤 4:创建索引和映射
Elasticsearch 扩展包提供了一些 CLI
命令。其中之一是用于创建索引,请在您的终端中运行此命令
bin/console ongr:es:index:create
现在应该使用您的文档字段创建products
索引。
有关其余命令的更多信息,请参阅命令章节。
步骤 5:享受Elasticsearch的乐趣
Elasticsearch扩展包的完整文档在此处提供。希望您能用它创造出令人惊叹的事物 😎。
请注意,将扩展包的文档更新到6.0的过程仍在进行中。请阅读已经更新的配置和CRUD部分,这将使您能够拥有扩展包的基本功能。我们将尽快更新其余的文档。
故障排除
许可证
本扩展包采用MIT许可证授权。请查阅扩展包中的LICENSE
文件以获取完整的许可证信息。