{"id":21900668,"url":"https://github.com/php-cmsig/seal-mezzio-module","last_synced_at":"2025-09-14T21:13:52.333Z","repository":{"id":157773018,"uuid":"633624077","full_name":"PHP-CMSIG/seal-mezzio-module","owner":"PHP-CMSIG","description":"An integration of CMS-IG SEAL search abstraction via a ConfigProvider into the Mezzio Framework. Part of the https://github.com/php-cmsig/search project. READ-ONLY Repository","archived":false,"fork":false,"pushed_at":"2025-08-13T09:07:51.000Z","size":400,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"0.12","last_synced_at":"2025-08-13T10:18:15.126Z","etag":null,"topics":["cmsig","laminas","mezzio","php","seal-integration","seal-search","search"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PHP-CMSIG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["alexander-schranz"],"custom":["https://paypal.me/L91"]}},"created_at":"2023-04-27T23:26:02.000Z","updated_at":"2025-08-13T08:19:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"abd7c228-8266-49ba-8c0f-aebb9b73162d","html_url":"https://github.com/PHP-CMSIG/seal-mezzio-module","commit_stats":null,"previous_names":["php-cmsig/seal-mezzio-module"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/PHP-CMSIG/seal-mezzio-module","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-mezzio-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-mezzio-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-mezzio-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-mezzio-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHP-CMSIG","download_url":"https://codeload.github.com/PHP-CMSIG/seal-mezzio-module/tar.gz/refs/heads/0.12","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-mezzio-module/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275168621,"owners_count":25417169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmsig","laminas","mezzio","php","seal-integration","seal-search","search"],"created_at":"2024-11-28T15:09:29.662Z","updated_at":"2025-09-14T21:13:52.313Z","avatar_url":"https://github.com/PHP-CMSIG.png","language":"PHP","funding_links":["https://github.com/sponsors/alexander-schranz","https://paypal.me/L91"],"categories":[],"sub_categories":[],"readme":"\u003e **Note**:\n\u003e This is part of the `cmsig/search` project create issues in the [main repository](https://github.com/php-cmsig/search).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"SEAL Logo with an abstract seal sitting on a telescope.\" src=\"https://avatars.githubusercontent.com/u/120221538?s=400\u0026v=6\" width=\"200\" height=\"200\"\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003eLogo created by \u003ca href=\"https://cargocollective.com/meinewilma\"\u003eMeine Wilma\u003c/a\u003e\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eSEAL \u003cbr /\u003e Mezzio Integration\u003c/h1\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\nIntegration of the CMS-IG — Search Engine Abstraction Layer (SEAL) into Mezzio.\n\n\u003e **Note**:\n\u003e This project is heavily under development and any feedback is greatly appreciated.\n\n## Installation\n\nUse [composer](https://getcomposer.org/) for install the package:\n\n```bash\ncomposer require cmsig/seal-mezzio-module\n```\n\nAlso install one of the listed adapters.\n\n### List of adapters\n\nThe following adapters are available:\n\n - [MemoryAdapter](../../packages/seal-memory-adapter): `cmsig/seal-memory-adapter`\n - [ElasticsearchAdapter](../../packages/seal-elasticsearch-adapter): `cmsig/seal-elasticsearch-adapter`\n - [OpensearchAdapter](../../packages/seal-opensearch-adapter): `cmsig/seal-opensearch-adapter`\n - [MeilisearchAdapter](../../packages/seal-meilisearch-adapter): `cmsig/seal-meilisearch-adapter`\n - [AlgoliaAdapter](../../packages/seal-algolia-adapter): `cmsig/seal-algolia-adapter`\n - [LoupeAdapter](../../packages/seal-loupe-adapter): `cmsig/seal-loupe-adapter`\n - [SolrAdapter](../../packages/seal-solr-adapter): `cmsig/seal-solr-adapter`\n - [RediSearchAdapter](../../packages/seal-redisearch-adapter): `cmsig/seal-redisearch-adapter`\n - [TypesenseAdapter](../../packages/seal-typesense-adapter): `cmsig/seal-typesense-adapter`\n - ... more coming soon\n\nAdditional Wrapper adapters:\n\n - [ReadWriteAdapter](../../packages/seal-read-write-adapter): `cmsig/seal-read-write-adapter`\n - [MultiAdapter](../../packages/seal-multi-adapter): `cmsig/seal-multi-adapter`\n\nCreating your own adapter? Add the [`seal-php-adapter`](https://github.com/topics/seal-php-adapter) Topic to your GitHub Repository.\n\n## Usage\n\nThe following code shows how to configure the package:\n\n```php\n\u003c?php\n\n// src/App/src/ConfigProvider.php\n\nclass ConfigProvider\n{\n    public function __invoke(): array\n    {\n        return [\n            // ...\n            'cmsig_seal' =\u003e [\n                'schemas' =\u003e [\n                    'app' =\u003e [\n                        'dir' =\u003e 'config/schemas',\n                    ],\n                ],\n                'engines' =\u003e [\n                    'default' =\u003e [\n                        'adapter' =\u003e 'meilisearch://127.0.0.1:7700',\n                    ],\n                ],\n            ],\n        ];\n    }\n}\n```\n\nA more complex configuration can be here found:\n\n```php\n\u003c?php\n\n// src/App/src/ConfigProvider.php\n\nclass ConfigProvider\n{\n    public function __invoke(): array\n    {\n        return [\n            // ...\n            'cmsig_seal' =\u003e [\n                'schemas' =\u003e [\n                    'app' =\u003e [\n                        'dir' =\u003e 'config/schemas/app',\n                        'engine' =\u003e 'meilisearch',\n                    ],\n                    'other' =\u003e [\n                        'dir' =\u003e 'config/schemas/other',\n                        'engine' =\u003e 'algolia',\n                    ],\n                ],\n                'engines' =\u003e [\n                    'algolia' =\u003e [\n                        'adapter' =\u003e 'algolia://%ALGOLIA_APPLICATION_ID%%:%ALGOLIA_ADMIN_API_KEY%',\n                    ],\n                    'elasticsearch' =\u003e [\n                        'adapter' =\u003e 'elasticsearch://127.0.0.1:9200',\n                    ],\n                    'loupe' =\u003e [\n                        'adapter' =\u003e 'loupe://var/indexes',\n                    ],\n                    'meilisearch' =\u003e [\n                        'adapter' =\u003e 'meilisearch://127.0.0.1:7700',\n                    ],\n                    'memory' =\u003e [\n                        'adapter' =\u003e 'memory://',\n                    ],\n                    'opensearch' =\u003e [\n                        'adapter' =\u003e 'opensearch://127.0.0.1:9200',\n                    ],\n                    'redisearch' =\u003e [\n                        'adapter' =\u003e 'redis://supersecure@127.0.0.1:6379',\n                    ],\n                    'solr' =\u003e [\n                        'adapter' =\u003e 'solr://127.0.0.1:8983',\n                    ],\n                    'typesense' =\u003e [\n                        'adapter' =\u003e 'typesense://S3CR3T@127.0.0.1:8108',\n                    ],\n                    \n                    // ...\n                    'multi' =\u003e [\n                        'adapter' =\u003e 'multi://elasticsearch?adapters[]=opensearch',\n                    ],\n                    'read-write' =\u003e [\n                        'adapter' =\u003e 'read-write://elasticsearch?write=multi',\n                    ],\n                ],\n                'index_name_prefix' =\u003e '',\n                'reindex_providers' =\u003e [\n                    \\App\\Search\\BlogReindexProvider::class,\n                ],\n            ],\n        ];\n    }\n}\n```\n\nThe default engine is available as `Engine`:\n\n```php\nclass Some {\n    public function __construct(\n        private readonly \\CmsIg\\Seal\\EngineInterface $engine,\n    ) {\n    }\n}\n```\n\nMultiple engines can be accessed via the `EngineRegistry`:\n\n```php\nclass Some {\n    private Engine $engine;\n\n    public function __construct(\n        private readonly \\CmsIg\\Seal\\EngineRegistry $engineRegistry,\n    ) {\n        $this-\u003eengine = $this-\u003eengineRegistry-\u003egetEngine('algolia');\n    }\n}\n```\n\nHow to create a `Schema` file and use your `Engine` can be found [SEAL Documentation](../../README.md#usage).\n\n### Commands\n\nThe package provides the following commands:\n\n**Create configured indexes**\n\n```bash\nvendor/bin/laminas cmsig:seal:index-create --help\n```\n\n**Drop configured indexes**\n\n```bash\nvendor/bin/laminas cmsig:seal:index-drop --help\n```\n\n**Reindex indexes**\n\n```bash\nvendor/bin/laminas cmsig:seal:reindex --help\n```\n\n## Authors\n\n- [Alexander Schranz](https://github.com/alexander-schranz/)\n- [The Community Contributors](https://github.com/php-cmsig/search/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-cmsig%2Fseal-mezzio-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-cmsig%2Fseal-mezzio-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-cmsig%2Fseal-mezzio-module/lists"}