Download the PHP package pmatseykanets/laravel-scout-postgres without Composer
On this page you can find all versions of the php package pmatseykanets/laravel-scout-postgres. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pmatseykanets/laravel-scout-postgres
More information about pmatseykanets/laravel-scout-postgres
Files in pmatseykanets/laravel-scout-postgres
Package laravel-scout-postgres
Short Description PostgreSQL Full Text Search Driver for Laravel Scout
License MIT
Homepage https://github.com/pmatseykanets/laravel-scout-postgres
Informations about the package laravel-scout-postgres
PostgreSQL Full Text Search Engine for Laravel Scout
This package makes it easy to use native PostgreSQL Full Text Search capabilities with Laravel Scout.
If you find this package usefull, please consider bying me a coffee.
Contents
- Installation
- Laravel
- Lumen
- Configuration
- Configuring the Engine
- Configuring PostgreSQL
- Prepare the Schema
- Configuring Searchable Data
- Configuring the Model
- Usage
- Testing
- Security
- Changelog
- Contributing
- Credits
- License
Installation
You can install the package via composer:
Laravel
If you're using Laravel < 5.5 or if you have package auto-discovery turned off you have to manually register the service provider:
Lumen
Scout service provider uses config_path
helper that is not included in Lumen.
To fix this include the following snippet either directly in bootstrap.app
or in your autoloaded helpers file i.e. app/helpers.php
.
Create the scout.php
config file in app/config
folder with the following contents
Register service providers:
Configuration
Configuring the Engine
Specify the database connection that should be used to access indexed documents in the Laravel Scout configuration file config/scout.php
:
Configuring PostgreSQL
Make sure that an appropriate default text search configuration is set globbaly (in postgresql.conf
), for a particular database (ALTER DATABASE ... SET default_text_search_config TO ...
) or alternatively set default_text_search_config
in each session.
To check the current value
Prepare the Schema
By default the engine expects that parsed documents (model data) are stored in the same table as the Model in a column searchable
of type tsvector
. You'd need to create this column and an index in your schema. You can choose between GIN
and GiST
indexes in PostgreSQL.
Configuring Searchable Data
In addition to Model's attributes you can bring other any other data to the index document. I.e. a list of Tags for a Post.
Configuring the Model
You may fine tune the engine behavior for a particular Model by implemeting searchableOptions()
in your Model.
If you decide to keep your Model's index outside of the Model's table you can let engine know that you want to push additional fields in the index table that you can then use to filter the result set by applying where()
with the Scout Builder
. In this case you'd need to implement searchableAdditionalArray()
on your Model. Of course the schema for the external table should include these additional columns.
You may want to make your searchable column hidden so it's not standing in your way
Usage
Please see the official documentation on how to use Laravel Scout.
Testing
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
- Peter Matseykanets
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-scout-postgres with dependencies
illuminate/contracts Version ~6.0|~7.0|~8.0
illuminate/database Version ~6.0|~7.0|~8.0
illuminate/support Version ~6.0|~7.0|~8.0
laravel/scout Version ~7.0|~8.0