wneuteboom / sphinxsearch
Laravel package to query Sphinxsearch in Laravel 5 Lumen
Requires
- php: >=5.3.0
- gigablah/sphinxphp: 2.0.8
This package is auto-updated.
Last update: 2024-11-22 19:11:38 UTC
README
Simple Laravel 5 Lumen package for make queries to Sphinx Search. Forked from sngrl/sphinxsearch package for Laravel 5.
This package was created to import to the site packagist.org and allow installation through Composer (https://getcomposer.org/).
Installation
Require this package in your composer.json:
"require": { /*** Some others packages ***/ "wneuteboom/sphinxsearch": "dev-master", },
Run in your console composer update
command to pull down the latest version of Sphinx Search.
Or just run this in console:
composer require wneuteboom/sphinxsearch-lumen:dev-master
After updating composer, add the ServiceProvider to the "providers" array in config/app.php:
'providers' => array( /*** Some others providers ***/ WNeuteboom\SphinxSearch\SphinxSearchServiceProvider::class, ),
You can add this line to the files, where you may use SphinxSearch:
use WNeuteboom\SphinxSearch;
Configuration
To use Sphinx Search, you need to configure your indexes and what model it should query. To do so, publish the configuration into your app.
php artisan vendor:publish --provider=WNeuteboom\SphinxSearch\SphinxSearchServiceProvider --force
This will create the file config/sphinxsearch.php
. Modify as needed the host and port.
return array ( 'host' => '127.0.0.1', 'port' => 9312, 'timeout' => 30 );
Usage
Basic query (raw sphinx results)
$sphinx = new SphinxSearch(); $sphinx ->index('products') ->select('id, name') ->weights([ 'name' => 1 ]) ->search("string to search") ->skip(0) ->take(100) ->get();
Basic query (with Eloquent)
$sphinx = new SphinxSearch; $sphinx ->index('products') ->select('id, name') ->table(\App\SpecificModel) ->weights([ 'name' => 1 ]) ->search("string to search") ->skip(0) ->take(100) ->get();
License
WNeuteboom Sphinx Search is open-sourced software licensed under the MIT license