定制 irto/solrio 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

irto/solrio

最新稳定版本:v0.1.0-alpha5

Composer 安装命令:

composer require irto/solrio

包简介

Laravel 5.1 package for full-text search over Eloquent models based on Solarium

README 文档

README

Latest Stable Version Latest Unstable Version License

Laravel 5.1 package for full-text search over Eloquent models based on Solarium, inspired by Laravel Lucene Search

Installation

Require this package in your composer.json and run composer update:

    {
        "require": {
            "irto/solrio": "0.*"
        }
    }

After updating composer, add the ServiceProvider to the providers array in app/config/app.php

    'providers' => [
        Irto\Solrio\ServiceProvider::class,
    ],

If you want to use the facade to search, add this to your facades in app/config/app.php:

    'aliases' => [
        'Search' => Irto\Solrio\Facade::class,
    ],

##Configuration

Publish the config file into your project by running:

    php artisan vendor:publish --provider="Irto\Solrio\ServiceProvider"

In published config file add descriptions for models which need to be indexed, for example:

    'index' => [
        
        'models' => [

            // ...

            namespace\FirstModel::class => [
                'fields' => [
                    'name', 'full_description', // Fields for indexing.
                ]
            ],

            namespace\SecondModel::class => [
                'fields' => [
                    'name', 'short_description', // Fields for indexing.
                ]
            ],

            // ...

        ],
    ],

##Usage

###Artisan commands

####Build/Rebuild search index

For building of search index run:

    php artisan search:rebuild

####Clear search index

For clearing of search index run:

    php artisan search:clear

###Partial updating of search index

For register of necessary events (save/update/delete) use Irto\Solrio\Model\SearchTrait in target model:

    use Illuminate\Database\Eloquent\Model;

    use Irto\Solrio\Model\Searchable;
    use Irto\Solrio\Model\SearchTrait;

    class Dummy extends Model implements Searchable // use of Searchable is optional, without this will be always available to search
    {
        use SearchTrait;

        /**
         * Is the model available for searching?
         */
        public function isSearchable()
        {
            return $this->publish;
        }
    }

You can also do it manually, how on a queued listener:

    use Illuminate\Queue\InteractsWithQueue;
    use Illuminate\Contracts\Queue\ShouldQueue;

    use Search; // if alias is configured

    class DummyUpdatedListener extends ShouldQueue
    {
        use InteractsWithQueue;

        public function handle($event)
        {
            $model = $event->getModel();

            Search::update($model); // you can use 'App::offsetGet('search')->update($model);' instead
        }
    }

irto/solrio 适用场景与选型建议

irto/solrio 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 4, 最近一次更新时间为 2015 年 08 月 02 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 irto/solrio 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 irto/solrio 我们能提供哪些服务?
定制开发 / 二次开发

基于 irto/solrio 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 30
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 9
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2015-08-02