{"id":21900647,"url":"https://github.com/php-cmsig/seal-laravel-package","last_synced_at":"2025-04-15T19:54:04.967Z","repository":{"id":159352871,"uuid":"622567247","full_name":"PHP-CMSIG/seal-laravel-package","owner":"PHP-CMSIG","description":"An integration of CMS-IG SEAL search abstraction into Laravel Framework. Part of the https://github.com/php-cmsig/search project. READ-ONLY Repository","archived":false,"fork":false,"pushed_at":"2025-03-19T16:36:34.000Z","size":733,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"0.7","last_synced_at":"2025-04-15T19:54:00.092Z","etag":null,"topics":["cmsig","laravel","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},"funding":{"github":["alexander-schranz"],"custom":["https://paypal.me/L91"]}},"created_at":"2023-04-02T13:54:11.000Z","updated_at":"2025-03-19T15:54:39.000Z","dependencies_parsed_at":"2023-05-21T16:30:57.067Z","dependency_job_id":"b4aeb64b-59d8-4104-aa3e-ebcde2d0ce50","html_url":"https://github.com/PHP-CMSIG/seal-laravel-package","commit_stats":null,"previous_names":["php-cmsig/seal-laravel-package","schranz-search/laravel-package"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-laravel-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-laravel-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-laravel-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHP-CMSIG%2Fseal-laravel-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHP-CMSIG","download_url":"https://codeload.github.com/PHP-CMSIG/seal-laravel-package/tar.gz/refs/heads/0.7","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249145296,"owners_count":21219966,"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","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","laravel","php","seal-integration","seal-search","search"],"created_at":"2024-11-28T15:09:22.479Z","updated_at":"2025-04-15T19:54:04.954Z","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 Laravel Integration\u003c/h1\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\nIntegration of the CMS-IG — Search Engine Abstraction Layer (SEAL) into Laravel.\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-laravel-package\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// config/cmsig_seal.php\n\nreturn [\n    /*\n    |--------------------------------------------------------------------------\n    | Schema configs\n    |--------------------------------------------------------------------------\n    |\n    | Define different directories for the schema loader.\n    */\n\n    'schemas' =\u003e [\n        'app' =\u003e [\n            'dir' =\u003e resource_path('schemas'),\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | engines\n    |--------------------------------------------------------------------------\n    |\n    | Directory where the latte templates can be found.\n    */\n\n    'engines' =\u003e [\n        'default' =\u003e [\n            'adapter' =\u003e env(\n                'ENGINE_URL',\n                'meilisearch://127.0.0.1:7700',\n            ),\n        ],\n    ],\n];\n```\n\nA more complex configuration can be here found:\n\n```php\n\u003c?php\n\n// config/cmsig_seal.php\n\nreturn [\n    /*\n    |--------------------------------------------------------------------------\n    | Schema configs\n    |--------------------------------------------------------------------------\n    |\n    | Define different directories for the schema loader.\n    */\n\n    'schemas' =\u003e [\n        'app' =\u003e [\n            'dir' =\u003e resource_path('schemas') . '/app',\n            'engine' =\u003e 'meilisearch',\n        ],\n        'other' =\u003e [\n            'dir' =\u003e resource_path('schemas') . '/other',\n            'engine' =\u003e 'algolia',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | engines\n    |--------------------------------------------------------------------------\n    |\n    | Directory where the latte templates can be found.\n    */\n\n    'engines' =\u003e [\n        'algolia' =\u003e [\n            'adapter' =\u003e 'algolia://' . env('ALGOLIA_APPLICATION_ID') . ':' . env('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\n    /*\n    |--------------------------------------------------------------------------\n    | Schema prefix\n    |--------------------------------------------------------------------------\n    |\n    | Define the prefix used for the index names to avoid conflicts.\n    */\n\n    'index_name_prefix' =\u003e '',\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-\u003eget('algolia');\n    }\n}\n```\n\nInstead of constructor injection the `Laravel` integration provides also two `Facades`\nfor the above services:\n\n- `CmsIg\\Seal\\Integration\\Laravel\\Facade\\Engine`\n- `CmsIg\\Seal\\Integration\\Laravel\\Facade\\EngineRegistry`\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\nphp artisan cmsig:seal:index-create --help\n```\n\n**Drop configured indexes**\n\n```bash\nphp artisan cmsig:seal:index-drop --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-laravel-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-cmsig%2Fseal-laravel-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-cmsig%2Fseal-laravel-package/lists"}