Sphinx Extension for Yii 2
This extension adds Sphinx full text search engine extension for the Yii framework 2.0. It supports all Sphinx features including Real-time Indexes.
For license information check the LICENSE-file.
Documentation is at docs/guide/README.md.
Requirements ¶
At least Sphinx version 2.0 is required. However, in order to use all extension features, Sphinx version 2.2.3 or higher is required.
Installation ¶
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yiisoft/yii2-sphinx
or add
"yiisoft/yii2-sphinx": "~2.0.0"
to the require section of your composer.json.
Configuration ¶
This extension interacts with Sphinx search daemon using MySQL protocol and SphinxQL query language. In order to setup Sphinx "searchd" to support MySQL protocol following configuration should be added:
searchd
{
listen = localhost:9306:mysql41
...
}
To use this extension, simply add the following code in your application configuration:
return [
//....
'components' => [
'sphinx' => [
'class' => 'yii\sphinx\Connection',
'dsn' => 'mysql:host=127.0.0.1;port=9306;',
'username' => '',
'password' => '',
],
],
];
Class Reference
Class | Description |
---|---|
yii\sphinx\ActiveDataProvider | ActiveDataProvider is an enhanced version of yii\data\ActiveDataProvider specific to the Sphinx. |
yii\sphinx\ActiveFixture | ActiveFixture represents a fixture backed up by a ActiveRecord class or a Sphinx index. |
yii\sphinx\ActiveQuery | ActiveQuery represents a Sphinx query associated with an Active Record class. |
yii\sphinx\ActiveRecord | ActiveRecord is the base class for classes representing relational data in terms of objects. |
yii\sphinx\ColumnSchema | ColumnSchema class describes the metadata of a column in a Sphinx index. |
yii\sphinx\Command | Command represents a SQL statement to be executed against a Sphinx. |
yii\sphinx\Connection | Connection represents the Sphinx connection via MySQL protocol. |
yii\sphinx\IndexSchema | IndexSchema represents the metadata of a Sphinx index. |
yii\sphinx\MatchBuilder | MatchBuilder builds a MATCH SphinxQL expression based on the specification given as a yii\sphinx\MatchExpression object. |
yii\sphinx\MatchExpression | MatchExpression represents a MATCH SphinxQL expression. |
yii\sphinx\Query | Query represents a SELECT SQL statement. |
yii\sphinx\QueryBuilder | QueryBuilder builds a SELECT SQL statement based on the specification given as a yii\sphinx\Query object. |
yii\sphinx\Schema | Schema represents the Sphinx schema information. |
yii\sphinx\gii\model\Generator | This generator will generate one or multiple ActiveRecord classes for the specified Sphinx index. |