Zend Lucene advanced
search component for Yii2.
Installation ¶
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist "himiklab/yii2-search-component-v2" "*"
or add
"himiklab/yii2-search-component-v2" : "*"
to the require section of your application's composer.json
file.
- Add a new component in
components
section of your application's configuration file, for example:
'components' => [
'search' => [
'class' => 'himiklab\yii2\search\Search',
'models' => [
'app\modules\page\models\Page',
],
],
// ...
],
- Add behavior in the AR models, for example:
use himiklab\yii2\search\behaviors\SearchBehavior;
public function behaviors()
{
return [
'search' => [
'class' => SearchBehavior::className(),
'searchScope' => function ($model) {
/** @var \yii\db\ActiveQuery $model */
$model->select(['title', 'body', 'url']);
$model->andWhere(['indexed' => true]);
},
'searchFields' => function ($model) {
/** @var self $model */
return [
['name' => 'title', 'value' => $model->title],
['name' => 'body', 'value' => strip_tags($model->body)],
['name' => 'url', 'value' => $model->url, 'type' => SearchBehavior::FIELD_KEYWORD],
// ['name' => 'model', 'value' => 'page', 'type' => SearchBehavior::FIELD_UNSTORED],
];
}
],
];
}
Usage ¶
See example Search
module.
Good day
Can you explain what is "AR" in phrase "> Add behavior in the AR models, for example:"????
AR is commonly used for refering to Active Record.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.