Laravel EnsoLaravel Enso
Guide
Back End
Front End
GitHub
Guide
Back End
Front End
GitHub
  • Back End

    • Action Logger
    • Addresses
    • Algolia
    • Algolia Webshop
    • API
    • Audits
    • Avatars
    • Cache Chain
    • Calendar
    • Cargo Partner
    • Categories
    • Charts
    • CI/CD
    • Cli
    • CNP Validator
    • Comments
    • Commercial
    • Companies
    • Core
    • Countries
    • Currencies
    • Data Export
    • Data Import
    • Discounts
    • Documents
    • Dynamic Methods
    • EAV
    • Emag
    • Enums
    • Excel
    • Facebook
    • Files
    • Filters
    • Financials
    • Forms
    • Frisbo
    • Google
    • Helpers
    • Holidays
    • How-to
    • Image Transformer
    • Impersonate
    • Interactions
    • Inventory
    • IO
    • Localisation
    • Lockable Models
    • Logs
    • Measurement Units
    • Meili Search
    • Meili Search Webshop
    • Menus
    • Migrator
    • Monitored Emails
    • Notifications
    • Packaging Units
    • PDF
    • People
    • Permissions
    • Product Eav
    • Product Lots
    • Products
    • Questionnaires
    • Rememberable
    • Roles
    • Sale Channels
    • Searchable
    • Select
    • Sentry
    • Services
    • Smart Bill
    • Sms Advert
    • Stripe
    • Tables
    • Tasks
    • Teams
    • Ticketing
    • Track Who
    • Tutorials
    • Typesense
    • Typesense Webshop
    • Unit Conversion
    • Upgrade
    • UPS
    • User Groups
    • Users
    • Versions
    • Virtual Call Center
    • Vouchers
    • Webshop
    • Webshop Commercial

Typesense Webshop

LicenseStablePHPIssuesMerge Requests

Description

Typesense Webshop connects Enso webshop browsing to Typesense.

When the host application runs with scout.driver=typesense and Typesense is enabled, the package replaces the default webshop product and category filter services, swaps the sorting enum, builds a collection schema from searchable product data, and reacts to EAV attribute updates so facets stay aligned with the product catalog.

Installation

This is a proprietary package distributed through the private Enso registry.

Make sure the host application already has:

  • laravel-enso/typesense
  • laravel-enso/webshop
  • indexed products in Typesense

No extra routes are published by this package.

Features

  • Deferred service bindings for webshop product filters, category filters, and sorts.
  • Automatic fallback to core database filters when Typesense is disabled.
  • Schema builder for searchable product collections.
  • Typo-tolerance helper used by webshop search requests.
  • EAV observer integration for facet/schema synchronization.

Usage

The package activates automatically when:

  • config('scout.driver') === 'typesense'
  • LaravelEnso\Typesense\Models\Settings::enabled() returns true

Main extension points:

  • Services\Filters\Product
  • Services\Filters\Category
  • Enums\Sorts
  • Services\Schema
  • Services\TypoTolerance

Dynamic methods are also registered so the product model can expose Typesense-specific schema and query metadata.

API

This package exposes its backend integration through the routes, controllers, services, jobs, and configuration points referenced in the usage examples above.

Consumers should rely on the published config keys, documented route groups, and explicit service classes shown in the examples. Internal helper classes, listeners, casts, and background jobs are implementation details unless the README calls them out as extension points.

Depends On

Required Enso packages:

  • laravel-enso/core ↗
  • laravel-enso/typesense ↗
  • laravel-enso/dynamic-methods ↗
  • laravel-enso/categories ↗
  • laravel-enso/companies ↗
  • laravel-enso/eav ↗
  • laravel-enso/enums ↗
  • laravel-enso/helpers ↗
  • laravel-enso/product-eav ↗
  • laravel-enso/webshop ↗

External service dependency:

  • Typesense search engine used as the webshop query and faceting backend

Contributions

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!

Edit this page on GitHub
Last Updated: 4/20/2026, 8:02:26 PM
Prev
Typesense
Next
Unit Conversion