PHPackages                             igor-tv/sphinxsearch - 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. igor-tv/sphinxsearch

ActiveLibrary

igor-tv/sphinxsearch
====================

Laravel package to query Sphinxsearch in Laravel 5–8

010PHP

Since Jun 20Pushed 4y agoCompare

[ Source](https://github.com/igor-tv/sphinxsearch)[ Packagist](https://packagist.org/packages/igor-tv/sphinxsearch)[ RSS](/packages/igor-tv-sphinxsearch/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Sphinx Search for Laravel 5–8 - Custom build with snippets support
==================================================================

[](#sphinx-search-for-laravel-58---custom-build-with-snippets-support)

Simple Laravel 5–8 package for make queries to Sphinx Search. Forked from sngrl/sphinxsearch package for Laravel 5. Inspired by scalia/sphinxsearch package for Laravel 4.

This package was created to import to the site packagist.org and allow installation through Composer ().

Installation
============

[](#installation)

Require this package in your composer.json:

```
	"require": {
        	/*** Some others packages ***/
		"igor-tv/sphinxsearch": "dev-master",
	},
```

Run in your console `composer update` command to pull down the latest version of Sphinx Search.

Or just run this in console:

```
composer require igor-tv/sphinxsearch:dev-master
```

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

```
	'providers' => array(
        /*** Some others providers ***/
        sngrl\SphinxSearch\SphinxSearchServiceProvider::class,
    ),
```

You can add this line to the files, where you may use SphinxSearch:

```
use sngrl\SphinxSearch\SphinxSearch;
```

Configuration
=============

[](#configuration)

To use Sphinx Search, you need to configure your indexes and what model it should query. To do so, publish the configuration into your app.

```
php artisan vendor:publish --provider=sngrl\SphinxSearch\SphinxSearchServiceProvider --force
```

This will create the file `config/sphinxsearch.php`. Modify as needed the host and port, and configure the indexes, binding them to a table and id column.

```
return array (
	'host'    => '127.0.0.1',
	'port'    => 9312,
	'indexes' => array (
		'my_index_name' => array ( 'table' => 'my_keywords_table', 'column' => 'id' ),
	)
);
```

Or disable the model querying to just get a list of result id's.

```
return array (
	'host'    => '127.0.0.1',
	'port'    => 9312,
	'indexes' => array (
		'my_index_name' => FALSE,
	)
);
```

Usage
=====

[](#usage)

Basic query (raw sphinx results)

```
$sphinx = new SphinxSearch();
$results = $sphinx->search('my query', 'index_name')->query();
```

Basic query (with Eloquent)

```
$results = $sphinx->search('my query', 'index_name')->get();
```

Query another Sphinx index with limit and filters.

```
$results = $sphinx->search('my query', 'index_name')
	->limit(30)
	->filter('attribute', array(1, 2))
	->range('int_attribute', 1, 10)
	->get();
```

Query with match and sort type specified.

```
$result = $sphinx->search('my query', 'index_name')
	->setFieldWeights(
		array(
			'partno'  => 10,
			'name'    => 8,
			'details' => 1
		)
	)
	->setMatchMode(\Sphinx\SphinxClient::SPH_MATCH_EXTENDED)
	->setSortMode(\Sphinx\SphinxClient::SPH_SORT_EXTENDED, "@weight DESC")
	->get(true);  //passing true causes get() to respect returned sort order
```

License
=======

[](#license)

Sngrl Sphinx Search is open-sourced software licensed under the MIT license

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity29

Early-stage or recently created project

 Bus Factor1

Top contributor holds 52.6% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a5ff3b36d8fc28605ce3f2477ccb11acb6c9ebb0d8e0f9ef8cb4374b2673276?d=identicon)[igor-tv](/maintainers/igor-tv)

---

Top Contributors

[![sngrl](https://avatars.githubusercontent.com/u/6196684?v=4)](https://github.com/sngrl "sngrl (20 commits)")[![nekhbet](https://avatars.githubusercontent.com/u/2778861?v=4)](https://github.com/nekhbet "nekhbet (6 commits)")[![woodymendoza](https://avatars.githubusercontent.com/u/879473?v=4)](https://github.com/woodymendoza "woodymendoza (6 commits)")[![MrBad](https://avatars.githubusercontent.com/u/4605505?v=4)](https://github.com/MrBad "MrBad (2 commits)")[![igor-tv](https://avatars.githubusercontent.com/u/6777469?v=4)](https://github.com/igor-tv "igor-tv (2 commits)")[![eleven26](https://avatars.githubusercontent.com/u/10000532?v=4)](https://github.com/eleven26 "eleven26 (1 commits)")[![JeremyHutchings](https://avatars.githubusercontent.com/u/439559?v=4)](https://github.com/JeremyHutchings "JeremyHutchings (1 commits)")

### Embed Badge

![Health badge](/badges/igor-tv-sphinxsearch/health.svg)

```
[![Health](https://phpackages.com/badges/igor-tv-sphinxsearch/health.svg)](https://phpackages.com/packages/igor-tv-sphinxsearch)
```

PHPackages © 2026

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