PHPackages                             thiagoprz/vegvisir - 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. thiagoprz/vegvisir

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

thiagoprz/vegvisir
==================

Vegvisir - Laravel Search Indexer

12PHP

Since May 5Pushed 4y ago1 watchersCompare

[ Source](https://github.com/thiagoprz/vegvisir)[ Packagist](https://packagist.org/packages/thiagoprz/vegvisir)[ RSS](/packages/thiagoprz-vegvisir/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Vegvisir - Laravel Search Indexer
=================================

[](#vegvisir---laravel-search-indexer)

[![PHPUnit](https://github.com/thiagoprz/vegvisir/actions/workflows/phpunit.yml/badge.svg?branch=main)](https://github.com/thiagoprz/vegvisir/actions/workflows/phpunit.yml)

Table of contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
- [Configuration](#configuration)
- [Available Adapters](#available-adapters)
    - [Elasticsearch](#elasticsearch)
    - [MongoDB](#mongodb)
- [Create You Own Adapter](#create-you-own-adapter)
- [Roadmap](#roadmap)
- [Contributing](#package-testing)
- [Testing](#testing)
- [Support](#support)
    - [Issues](#issues)
- [License](#license)

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

[](#installation)

Install it using composer on your application: `composer require thiagoprz/vegvisir`

Configuration
-------------

[](#configuration)

Install chosen AdapterServiceProvider (see [adapters](#adapters) for more information) service provider to `config/app.php`:

```
..
'providers' => [
...
    \Thiagoprz\Vegvisir\VegvisirElasticSearchServiceProvider::class,
],
...

```

Publish configuration by running `php artisan vendor:publish` and typing the number for your desired adapter (if using multiple adapters there's no need for running more than once, just choose one of them).

This will add the `vegvisir.php` file to the `config` directory. Bear in mind that this configuration contains directives for all adapters inside your application, those you don't need multiple configurations files for each adapter you use in case your application will be using more than one.

Available Adapters
------------------

[](#available-adapters)

This package comes with built-in Adapters that can be easily use without any customization depending on your needs, of course you can and are encouraged to build your own Adapter to fill any specification or if you are using a different platform that the ones listed here.

### Elasticsearch

[](#elasticsearch)

This adapter connects to Elasticsearch host(s) and will insert/update/delete everytime changes happen to your model.

Follow the instructions in the adapter [repository](https://github.com/thiagoprz/vegvisir-elasticsearch).

### MongoDB

[](#mongodb)

> **Status: Under Development**

This adapter connects to MongoDB and will insert/update/delete everytime changes happen to your model.

Follow the instructions in the adapter [repository](https://github.com/thiagoprz/vegvisir-mongodb).

Create You Own Adapter
----------------------

[](#create-you-own-adapter)

The main idea behind this project is to allow enhancing Laravel applications by using different databases from the main one (usually MySQL) as the entry point for search requests, those providing a better preformance and avoiding performance issues for large operations on the database. Based on this idea this repository will be useful for anyone who wants to implement their own search tool inside laravel application, it's really straight forward to create an adapter by following this steps.

### Adapter Package Structure

[](#adapter-package-structure)

- src/
    - Adapters/
        - CustomAdapter.php
    - config/
        - vegvisir.php
    - Repositories/
        - CustomRepository.php
    - CustomServiceProvider.php

Roadmap
-------

[](#roadmap)

- Implement as mush sustainable as possible the most diverse numbers of adapters for enhancing Laravel Application

AdapterSTATUSRelease VersionEngine Version¹[Elastic Search](#elastic-search)Done0.0.17.11.0[MongoDB](#mongodb)In ProgressMySQLTodoCassandra/ScyllaDBTodoSQLiteTodo¹ Engine version means the version of the software used to build the package, there is a possibility that depending on the changes (specially breaking changes) made on the Third Party this package may not be stable or not work as expected.

Contributing
------------

[](#contributing)

Testing
-------

[](#testing)

```
vendor/phpunit/phpunit/phpunit --configuration phpunit.xml tests

```

Support
-------

[](#support)

### Issues

[](#issues)

Please feel free to [create issues](https://github.com/thiagoprz/vegvisir/issues) on this package, it will help a lot. I will address it as soon as possible.

License
-------

[](#license)

This package is licensed under the [MIT](License.txt) license.

[![](assets/Vegvisir.svg)](assets/Vegvisir.svg)

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/e4d9031d50aceeba8d2435fbff8b716b23fe120e70ebf6a8120a0bfe336dbec9?d=identicon)[thiagoprz](/maintainers/thiagoprz)

---

Top Contributors

[![thiagoprz](https://avatars.githubusercontent.com/u/1896302?v=4)](https://github.com/thiagoprz "thiagoprz (2 commits)")

### Embed Badge

![Health badge](/badges/thiagoprz-vegvisir/health.svg)

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

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/packages/ruflin-elastica)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15024.3M65](/packages/opensearch-project-opensearch-php)[mailerlite/laravel-elasticsearch

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

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[massive/search-bundle

Massive Search Bundle

721.4M13](/packages/massive-search-bundle)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)[handcraftedinthealps/zendsearch

a general purpose text search engine written entirely in PHP 5

39921.0k35](/packages/handcraftedinthealps-zendsearch)

PHPackages © 2026

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