Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

An integration of CMS-IG SEAL search abstraction into Laravel Framework. Part of thehttps://github.com/php-cmsig/search project. READ-ONLY Repository

License

NotificationsYou must be signed in to change notification settings

PHP-CMSIG/seal-laravel-package

Repository files navigation

Note:This is part of thecmsig/search project create issues in themain repository.


SEAL Logo with an abstract seal sitting on a telescope.
Logo created byMeine Wilma

SEAL
Laravel Integration



Integration of the CMS-IG — Search Engine Abstraction Layer (SEAL) into Laravel.

Note:This project is heavily under development and any feedback is greatly appreciated.

Installation

Usecomposer for install the package:

composer require cmsig/seal-laravel-package

Also install one of the listed adapters.

List of adapters

The following adapters are available:

Additional Wrapper adapters:

Creating your own adapter? Add theseal-php-adapter Topic to your GitHub Repository.

Usage

The following code shows how to configure the package:

<?php// config/cmsig_seal.phpreturn [/*    |--------------------------------------------------------------------------    | Schema configs    |--------------------------------------------------------------------------    |    | Define different directories for the schema loader.    */'schemas' => ['app' => ['dir' =>resource_path('schemas'),        ],    ],/*    |--------------------------------------------------------------------------    | engines    |--------------------------------------------------------------------------    |    | Directory where the latte templates can be found.    */'engines' => ['default' => ['adapter' =>env('ENGINE_URL','meilisearch://127.0.0.1:7700',            ),        ],    ],];

A more complex configuration can be here found:

<?php// config/cmsig_seal.phpreturn [/*    |--------------------------------------------------------------------------    | Schema configs    |--------------------------------------------------------------------------    |    | Define different directories for the schema loader.    */'schemas' => ['app' => ['dir' =>resource_path('schemas') .'/app','engine' =>'meilisearch',        ],'other' => ['dir' =>resource_path('schemas') .'/other','engine' =>'algolia',        ],    ],/*    |--------------------------------------------------------------------------    | engines    |--------------------------------------------------------------------------    |    | Directory where the latte templates can be found.    */'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',        ],    ],/*    |--------------------------------------------------------------------------    | Schema prefix    |--------------------------------------------------------------------------    |    | Define the prefix used for the index names to avoid conflicts.    */'index_name_prefix' =>'',];

The default engine is available asEngine:

class Some {publicfunction__construct(privatereadonly\CmsIg\Seal\EngineInterface$engine,    ) {    }}

Multiple engines can be accessed via theEngineRegistry:

class Some {privateEngine$engine;publicfunction__construct(privatereadonly\CmsIg\Seal\EngineRegistry$engineRegistry,    ) {$this->engine =$this->engineRegistry->get('algolia');    }}

Instead of constructor injection theLaravel integration provides also twoFacadesfor the above services:

  • CmsIg\Seal\Integration\Laravel\Facade\Engine
  • CmsIg\Seal\Integration\Laravel\Facade\EngineRegistry

How to create aSchema file and use yourEngine can be foundSEAL Documentation.

Commands

The package provides the following commands:

Create configured indexes

php artisan cmsig:seal:index-create --help

Drop configured indexes

php artisan cmsig:seal:index-drop --help

Authors

About

An integration of CMS-IG SEAL search abstraction into Laravel Framework. Part of thehttps://github.com/php-cmsig/search project. READ-ONLY Repository

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors5

Languages


[8]ページ先頭

©2009-2025 Movatter.jp