sumeetghimire/fastsearch

FastSearch is a powerful Laravel package that accelerates search operations across multiple database models. It allows for flexible keyword searching with support for exact and partial matches, caching, and easy integration with Laravel applications.

1.0.6 2025-03-11 03:02 UTC

This package is auto-updated.

Last update: 2025-06-16 10:46:09 UTC


README

FastSearch is a powerful Laravel package that accelerates search operations across multiple database models. It allows for flexible keyword searching with support for exact and partial matches, caching, and easy integration with Laravel applications.

Features

  • Multi-model Search: Search across multiple models with the same keyword.
  • Exact & Partial Matching: Supports LIKE queries and exact matches.
  • Caching: Built-in caching to improve performance.
  • Easy Integration: Quick setup and simple to use in Laravel applications.

Installation

To install the FastSearch package, run the following command:

composer require sumeetghimire/fastsearch

Example How to Use

use SumeetGhimire\FastSearch\FastSearch;

public function search(Request $request) { $keyword = $request->input('keyword', 'd'); $userColumn = $request->input('user_column', 'name'); $portfolioColumn = $request->input('portfolio_column', 'title'); $returnColumnOnly = $request->input('return_column_only', false);

// Measure the execution time

// Search in the User model with pagination
   $results = $this->search
    ->addModel(User::class, 'name', true)
    ->setKeyword('t')
    ->setMatchType('like')
    ->setPaginationEnabled(true)
    ->setPagination(5, 1)
    ->search();


return response()->json([
    'status' => 'success',
    'results' => $results,
]);

}

License

The FastSearch package is open-source and licensed under the MIT License.

Credits

Author: Sumeet Ghimire Email: sumeetghimire2526@gmail.com