PHPackages                             irto/solrio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. irto/solrio

AbandonedArchivedLibrary[Search &amp; Filtering](/categories/search)

irto/solrio
===========

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

v0.1.0-alpha5(10y ago)430[1 issues](https://github.com/Irto/solrio/issues)GPL-2.0PHPPHP &gt;=5.5.9

Since Aug 2Pushed 10y ago2 watchersCompare

[ Source](https://github.com/Irto/solrio)[ Packagist](https://packagist.org/packages/irto/solrio)[ RSS](/packages/irto-solrio/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (6)Used By (0)

solrio
======

[](#solrio)

[![Latest Stable Version](https://camo.githubusercontent.com/5fb5116eb0a18c98aa5a21e22b0c0c3c7f6810633dfcaa81b35996b6c11e99c2/68747470733a2f2f706f7365722e707567782e6f72672f6972746f2f736f6c72696f2f762f737461626c65)](https://packagist.org/packages/irto/solrio)[![Latest Unstable Version](https://camo.githubusercontent.com/2ab2c558a9604ca1ff8ae8dcd0294a4ca0f52daa56af8d9b36be910fde231b75/68747470733a2f2f706f7365722e707567782e6f72672f6972746f2f736f6c72696f2f762f756e737461626c65)](https://packagist.org/packages/irto/solrio)[![License](https://camo.githubusercontent.com/5b9ca05f2732952e0727bfa76f2a61efee7d4b8534400f52affc4d3a7cce6c45/68747470733a2f2f706f7365722e707567782e6f72672f6972746f2f736f6c72696f2f6c6963656e7365)](https://packagist.org/packages/irto/solrio)

Laravel 5.1 package for full-text search over Eloquent models based on Solarium, inspired by [Laravel Lucene Search](https://github.com/nqxcode/laravel-lucene-search)

Installation
------------

[](#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
        }
    }
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Total

5

Last Release

3846d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/60c9e4676752784bcee543faf02b00a13d10d73fa840ac46f1b6968022c7b88d?d=identicon)[Irto](/maintainers/Irto)

---

Top Contributors

[![Irto](https://avatars.githubusercontent.com/u/1208282?v=4)](https://github.com/Irto "Irto (18 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/irto-solrio/health.svg)

```
[![Health](https://phpackages.com/badges/irto-solrio/health.svg)](https://phpackages.com/packages/irto-solrio)
```

###  Alternatives

[mailerlite/laravel-elasticsearch

An easy way to use the official PHP ElasticSearch client in your Laravel applications.

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[jeroen-g/explorer

Next-gen Elasticsearch driver for Laravel Scout.

397612.3k](/packages/jeroen-g-explorer)[swisnl/laravel-fulltext

Fulltext indexing and searching for Laravel

184104.5k5](/packages/swisnl-laravel-fulltext)[romanstruk/manticore-scout-engine

Laravel Manticore Scout Engine

4818.1k](/packages/romanstruk-manticore-scout-engine)[statamic-rad-pack/meilisearch

meilisearch search driver for Statamic

1661.7k](/packages/statamic-rad-pack-meilisearch)[internachi/blade-alpine-instantsearch

Algolia instant search as Blade/Alpine.js components

1940.9k](/packages/internachi-blade-alpine-instantsearch)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
