schranz-search/symfony-bundle
Composer 安装命令:
composer require schranz-search/symfony-bundle
包简介
An integration of CMS-IG SEAL search abstraction into Symfony Framework.
关键字:
README 文档
README
Your feedback is important 📘Note: This is part of the
cmsig/searchproject create issues in the main repository.
Are you working with SEAL? Let us know! | Which Search Engines do you use and why?
SEAL
Symfony Integration
Integration of the CMS-IG — Search Engine Abstraction Layer (SEAL) into Symfony.
Note: This project is heavily under development and any feedback is greatly appreciated.
Installation
Use composer for install the package:
composer require cmsig/seal-symfony-bundle
Also install one of the listed adapters.
List of adapters
The following adapters are available:
- MemoryAdapter:
cmsig/seal-memory-adapter - ElasticsearchAdapter:
cmsig/seal-elasticsearch-adapter - OpensearchAdapter:
cmsig/seal-opensearch-adapter - MeilisearchAdapter:
cmsig/seal-meilisearch-adapter - AlgoliaAdapter:
cmsig/seal-algolia-adapter - LoupeAdapter:
cmsig/seal-loupe-adapter - SolrAdapter:
cmsig/seal-solr-adapter - RediSearchAdapter:
cmsig/seal-redisearch-adapter - TypesenseAdapter:
cmsig/seal-typesense-adapter - ... more coming soon
Additional Wrapper adapters:
- ReadWriteAdapter:
cmsig/seal-read-write-adapter - MultiAdapter:
cmsig/seal-multi-adapter
Creating your own adapter? Add the seal-php-adapter Topic to your GitHub Repository.
Configuration
The following code shows how to configure the package:
# config/packages/cmsig_seal.yaml cmsig_seal: schemas: app: dir: '%kernel.project_dir%/config/schemas' # engine: 'default' engines: default: adapter: '%env(ENGINE_URL)%'
A more complex configuration can be here found:
# config/packages/cmsig_seal.yaml cmsig_seal: schemas: app: dir: '%kernel.project_dir%/config/schemas/app' other: dir: '%kernel.project_dir%/config/schemas/other' engine: algolia engines: algolia: adapter: 'algolia://%env(ALGOLIA_APPLICATION_ID)%:%env(ALGOLIA_ADMIN_API_KEY)%' elasticsearch: adapter: 'elasticsearch://127.0.0.1:9200' loupe: adapter: 'loupe://var/indexes' meilisearch: adapter: 'meilisearch://127.0.0.1:7700' memory: adapter: 'memory://' opensearch: adapter: 'opensearch://127.0.0.1:9200' redisearch: adapter: 'redis://supersecure@127.0.0.1:6379' solr: adapter: 'solr://127.0.0.1:8983' typesense: adapter: 'typesense://S3CR3T@127.0.0.1:8108' # ... multi: adapter: 'multi://elasticsearch?adapters[]=opensearch' read-write: adapter: 'read-write://elasticsearch?write=multi' index_name_prefix: ''
Usage
The default engine is available as Engine:
class Some { public function __construct( private readonly \CmsIg\Seal\EngineInterface $engine, ) { } }
A specific engine is available under the config key suffix with Engine:
class Some { public function __construct( private readonly \CmsIg\Seal\EngineInterface $algoliaEngine, ) { } }
Multiple engines can be accessed via the EngineRegistry:
class Some { private Engine $engine; public function __construct( private readonly \CmsIg\Seal\EngineRegistry $engineRegistry, ) { $this->engine = $this->engineRegistry->get('algolia'); } }
How to create a Schema file and use your Engine can be found SEAL Documentation.
Commands
The bundle provides the following commands:
Create configured indexes
bin/console cmsig:seal:index-create --help
Drop configured indexes
bin/console cmsig:seal:index-drop --help
Reindex configured indexes
bin/console cmsig:seal:reindex --help
Authors
schranz-search/symfony-bundle 适用场景与选型建议
schranz-search/symfony-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15.93k 次下载、GitHub Stars 达 15, 最近一次更新时间为 2023 年 04 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「symfony」 「abstraction」 「solr」 「search」 「bundle」 「elasticsearch」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 schranz-search/symfony-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 schranz-search/symfony-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 schranz-search/symfony-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A bundle which extend ibexa solr search handler
This extension provides integration with solr to output content from TYPO3 in JSON format.
Laminas Module for interaction between a laminas application and a SOLR search engine using Solarium
The bundle for easy using json-rpc api on your project
Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.
ADOdb is a PHP database abstraction layer library
统计信息
- 总下载量: 15.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 15
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-04-03