Download the PHP package vortos/vortos-search without Composer

On this page you can find all versions of the php package vortos/vortos-search. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vortos-search

vortos-search

Enterprise-grade, event-fed global search for Vortos apps. One tenant-scoped, RLS-isolated search_documents projection, fed from your domain events through a single discoverable contract. Adding a searchable type is one class; new instances are indexed automatically because they arrive on the events you already emit.

The framework owns the engine (matching, ranking, scoping, indexing, backfill). The app owns what is searchable and where each result deep-links — the framework never learns what an "application" is.

Why it exists

A hand-maintained search list rots the moment someone adds a feature. This package makes search a read-model off the event bus — the same pattern as the audit spine — so it stays correct by construction, rebuilds from scratch on demand, and scales independently of the write path.

Design at a glance

Scoping — two independent axes

Axis Column Enforcement
Org tenant_id WHERE tenant_id = … and Postgres row-level security (search:pg:install --rls). An org physically cannot read another org's rows.
Member permission + owner_member_id Org-shared rows need the caller's permission (or none); personal rows (owner_member_id set) are visible only to that member.

A SearchScope (tenant + memberId + permissions, or superuser) is mandatory to read — there is no unscoped query, and the cache key folds the scope in so it can never become a bypass.

Database-agnostic driver

Scoping, pagination and deep-links are identical across drivers — switching a driver changes relevance only, never who can see what. Implement SearchIndexDriver (+ writer/reader) to plug an external engine like OpenSearch/Meilisearch.

App integration (4 steps)

  1. Make a type searchable — implement SearchableProjection; it's auto-discovered:

  2. Feed the bus — one thin Kafka handler calls $applier->apply($event) on your indexing consumer group (owned by the app, so consumer/topic naming stays in app config).
  3. Serve queries — a controller builds a SearchScope from the authenticated principal and calls SearchQueryService::search().
  4. Backfill — implement SearchBackfillSourceInterface per type; run vortos:search:rebuild.

Configuration — config/search.php (all optional)

Commands

Metrics

Spread SearchMetricDefinitions::all() into your metrics registry (e.g. config/metrics.php): search_index_upsert_total, search_index_delete_total, search_query_total, search_query_latency_seconds.


All versions of vortos-search with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
psr/clock Version ^1.0
psr/log Version ^3.0
symfony/dependency-injection Version ^7.0 || ^8.0
vortos/vortos-foundation Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package vortos/vortos-search contains the following files

Loading the files please wait ...