Download the PHP package ivanomatteo/laravel-scout-fulltext-engine without Composer
On this page you can find all versions of the php package ivanomatteo/laravel-scout-fulltext-engine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ivanomatteo/laravel-scout-fulltext-engine
More information about ivanomatteo/laravel-scout-fulltext-engine
Files in ivanomatteo/laravel-scout-fulltext-engine
Package laravel-scout-fulltext-engine
Short Description A scout DB fulltext-based driver that store index data in related tables
License MIT
Homepage https://github.com/ivanomatteo/laravel-scout-fulltext-engine
Informations about the package laravel-scout-fulltext-engine
A scout DB fulltext-based driver that store index data in related tables
This package provide a Laravel/Scout Engine based on database/fulltext only, but work in a different way compared to the default database Engine.
You don't need to add fulltext indexes to your tables: the data used for search will be stored in a table with a polymorphic relation.
This provide several advantages:
- you don't need to change current tables's schema
- it's easy to add metadata
- indexing process can be deferred in jobs, so it will not slow down database inserts/updates
Installation
You can install the package via composer:
You can publish and run the migrations with:
You can publish the config file with:
This is the contents of the published config file:
Storing indexed data in different tables
It's also possible use different tables to store indexed data:
- creating another table with the same structure of "full_text_entries"
- the model (that should extend FullTextEntry)
and adding this method to your models:
Usage
Simply configure Laravel Scout to use this driver: (in your .env file)
and refer to laravel scout documentation for standard usage.
Direct Search Mode
This package also provide a "direct search" mode: you just need to add DirectSearch Trait to your Model:
In this way you will get:
- fullTextEntry(): relation to indexed table
- directSearch(): scope, that you can use intead of search()
Scout's search() function, returns an instance of Laravel\Scout\Builder that has limited functionalities.
directSearch() instead, will return an instance of Illuminate\Database\Eloquent\Builder that allow you to build your query as usual.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Ivano Matteo
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-scout-fulltext-engine with dependencies
illuminate/contracts Version ^9.0
laravel/scout Version ^9.4
spatie/laravel-package-tools Version ^1.9.2