kamikax / sphinxsearch
Laravel包,用于在Laravel 5中查询Sphinxsearch
此包的规范存储库似乎已不存在,因此该包已被冻结。
dev-master
2017-08-05 06:51 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~5.0
- kamikax/wtsphinxphp: 2.1.0
This package is not auto-updated.
Last update: 2024-01-21 00:30:59 UTC
README
简单的Laravel 5包,用于向Sphinx Search执行查询。受scalia/sphinxsearch包(用于Laravel 4)的启发。
创建此包是为了导入到packagist.org网站,并允许通过Composer进行安装(https://composer.php.ac.cn/)。
安装
在您的composer.json中要求此包
"require": { /*** Some others packages ***/ "kamikax/sphinxsearch": "dev-master", },
在控制台中运行composer update命令以拉取Sphinx Search的最新版本。
或者在控制台中直接运行
composer require kamikax/sphinxsearch:dev-master
更新composer后,将ServiceProvider添加到config/app.php中的"providers"数组中
'providers' => array( /*** Some others providers ***/ kamikax\SphinxSearch\SphinxSearchServiceProvider::class, ),
您可以将此行添加到可能使用SphinxSearch的文件中
use kamikax\SphinxSearch\SphinxSearch;
配置
要使用Sphinx Search,您需要配置您的索引以及它应该查询的模型。为此,将配置发布到您的应用中。
php artisan vendor:publish --provider=kamikax\SphinxSearch\SphinxSearchServiceProvider --force
这将在您的应用中创建config/sphinxsearch.php文件。根据需要修改主机和端口,并配置索引,将它们绑定到表和id列。
return array ( 'host' => '127.0.0.1', 'port' => 9312, 'indexes' => array ( 'my_index_name' => array ( 'table' => 'my_keywords_table', 'column' => 'id' ), ) );
或者禁用模型查询,仅获取结果ID列表。
return array ( 'host' => '127.0.0.1', 'port' => 9312, 'indexes' => array ( 'my_index_name' => FALSE, ) );
使用
基本查询(原始Sphinx结果)
$sphinx = new SphinxSearch(); $results = $sphinx->search('my query', 'index_name')->query();
基本查询(使用Eloquent)
$results = $sphinx->search('my query', 'index_name')->get();
使用限制和过滤器查询另一个Sphinx索引。
$results = $sphinx->search('my query', 'index_name') ->limit(30) ->filter('attribute', array(1, 2)) ->range('int_attribute', 1, 10) ->get();
指定匹配和排序类型进行查询。
$result = $sphinx->search('my query', 'index_name') ->setFieldWeights( array( 'partno' => 10, 'name' => 8, 'details' => 1 ) ) ->setMatchMode(\Sphinx\SphinxClient::SPH_MATCH_EXTENDED) ->setSortMode(\Sphinx\SphinxClient::SPH_SORT_EXTENDED, "@weight DESC") ->get(true); //passing true causes get() to respect returned sort order
许可
Sngrl Sphinx Search是开源软件,受MIT许可协议许可