himiklab/yii2-search-component-v2

此包已被废弃且不再维护。未建议替代包。

Yii2 Zend Lucene 搜索组件 v2

安装量: 16,866

依赖者: 0

推荐者: 0

安全: 0

星标: 25

关注者: 4

分支: 8

开放问题: 1

类型:yii2-extension

2.0.7 2019-05-18 09:23 UTC

This package is auto-updated.

Last update: 2022-01-12 15:39:57 UTC


README

为 Yii2 定制的 Zend Lucene 搜索组件。

Packagist Packagist license

安装

安装此扩展的首选方式是通过 composer

  • 添加
"himiklab/yii2-search-component-v2" : "*",
"zendframework/zendsearch": "2.0.0rc6"

到你的应用程序 composer.json 文件的 require 部分。

  • 在你的应用程序配置文件的 components 部分添加一个新组件,例如
'components' => [
    'search' => [
        'class' => 'himiklab\yii2\search\Search',
        'models' => [
            'app\modules\page\models\Page',
        ],
    ],
    // ...
],
  • 在 AR 模型中添加行为,例如
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],
                ];
            }
        ],
    ];
}

使用方法

查看 samples 目录中的 Search 模块示例。

资源