ppl / module-search-intelligence

ppl/module-search-intelligence

Standalone search intelligence for Magento 2 with canonical search results, query understanding, MySQL candidate collection, explainable ranking and optional Discovery Filters integration.

  • Pawel Pliousnin
magento2-module Compatibility: 2.4.7-2.4.9 Code Quality: Warning Tests: N/A Security: Pass proprietary

PPL Search Intelligence for Magento 2

PPL Search Intelligence owns intelligent Magento search results with query understanding, indexed product signals, MySQL candidate collection, explainable ranking, redirects, zero-result recovery, and optional Discovery Filters integration.

What It Adds

  • Canonical search page and overlay product basis
  • Indexing, backend routing, Redis/OpenSearch/MySQL options, query rules, behavior/ranking tuning, and profiler diagnostics
  • Synonyms, corrections, zero-result recovery, redirect rules, and Test Lab screens

Requirements And Dependencies

  • PHP: >=8.1
  • Magento packages: magento/framework, magento/module-advanced-search, magento/module-backend, magento/module-catalog, magento/module-catalog-inventory, magento/module-catalog-search, magento/module-config, magento/module-configurable-product, magento/module-cron, magento/module-customer, magento/module-eav, magento/module-inventory-sales, magento/module-inventory-sales-api, magento/module-message-queue, magento/module-review, magento/module-sales, magento/module-search, magento/module-store
  • PPL packages: ppl/module-hub
  • Conflict: do not enable together with Ppl_ScoredSearch because the modules try to control the same search surface.

Installation

Install the required PPL packages in dependency order. Composer will skip packages that are already installed:

composer require ppl/module-hub ppl/module-search-intelligence
bin/magento module:enable Ppl_Hub Ppl_SearchIntelligence
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:clean

Manual app/code installation: copy the dependency modules and this module into app/code/Ppl in this order: Ppl/Hub -> Ppl/SearchIntelligence. Then run the same Magento commands starting with bin/magento module:enable.

First Use

  • Disable Ppl_ScoredSearch before enabling SearchIntelligence because both modules own search surfaces.
  • Build the SearchIntelligence index before enabling the master switch, storefront suggestions, or search page ownership.
  • Run SearchIntelligence index/rebuild commands or admin operations after installation.
  • Pair with DiscoveryFilters only when you want filtered facets inside the SearchIntelligence product basis.

Admin entry: PPL Hub > PPL Search Intelligence.

Integrations And Boundaries

  • Optionally cooperates with Ppl_DiscoveryFilters through the neutral ppl_searchintelligence_filter_integration event.
  • Uses Ppl_Hub for navigation and for the neutral capability contract that shares search-page ownership and the materialized result set with Discovery Filters — SI reads the Discovery Filters index and publishes its result set through Hub capabilities, not sibling-module internals — plus Magento search/catalog modules for runtime data. Async indexing uses Magento_MessageQueue and requires a configured queue broker such as RabbitMQ when async mode is enabled.
  • Stable: run the documented PPL release gates (setup:upgrade, di:compile, PHPUnit, SCD, production mode) in your environment before publishing this package.

Localization

The package includes translation CSV files for 12 locales: de_DE, en_US, es_ES, fr_FR, it_IT, ja_JP, nl_NL, pl_PL, pt_BR, ru_RU, tr_TR, zh_CN.

Customer Documentation

Customer-facing User Guides and Marketplace Long Descriptions are maintained outside the Magento module package in the repository-level docs/user_guides and docs/long_descriptions folders. The module package itself intentionally keeps only this technical README plus developer-relevant files.

Support

Support contact: [email protected]. Include the module version, Magento version, enabled PPL companion modules, and the relevant admin or storefront screenshot when reporting an issue.

Changelog

1.2.0

  • Initial release.
  • Added query understanding, MySQL candidate provider, explainable ranking and product signal rebuilds.
  • Added admin Test Lab, hub-only configuration sections, CLI commands, cron jobs and core schema tables.
  • Added optional configurable storefront suggestions, Discovery Filters integration and read-only internal provider status.
  • Search result pages use Search Intelligence as the canonical product basis for product list rendering, Discovery Filters, toolbar totals, pagination and sorting.
  • Added overlay fast-path payload mapping, action payload slimming, optional payload pruning and profiler payload parity.
  • Added behavior-aware ranking gates that consume aggregated behavior signals; storefront behavior collection, impression tracking and purchase/return attribution are owned by the optional Ppl_Tracking module.
  • Added Smart Discovery P0 payload support as an additive, read-only overlay field.
  • Added Test Lab timing help and request-path details while keeping winner/loser row backgrounds neutral and limiting colored highlights to metric cells.
  • Routed Search Intelligence <-> Discovery Filters cooperation through neutral Ppl_Hub capabilities: SI exposes the canonical search product set via the Hub SearchPageProductSetProviderInterface bridge and reads facet/filter data via the Hub FilterIndexReaderInterface, instead of reading a sibling module's tables.
  • Declared an explicit magento/module-cron dependency and Magento_Cron load-order sequence so the bundled cron jobs (index bootstrap/rebuild, signal rebuild, knowledge-pack compile, result-set purge, async dispatch/advance) load deterministically.
  • Normalized every ranking component to a common [0,1] scale before weighting, retuned the shipped default weights, and added a data patch that calibrates stored per-scope weight overrides onto the new scale so existing merchant tuning is preserved.
  • Added optional async index rebuilds that fan a catalog rebuild out to the Magento message queue (one message per product batch, version-swapped only when complete) with a transactional outbox, per-minute dispatch/advance cron jobs and a broker-availability probe; falls back to the synchronous rebuild when no broker is configured.
  • Extended product signal scoring with freshness (recency), return-rate, click-through and search-conversion terms and lifted the signal scale cap so strong products no longer saturate.
  • Added search smoke/profile/recall diagnostic and corpus/benchmark/seed CLI commands that exercise the live SI + Discovery Filters result path through the Hub filter-index reader.
Versions
Version Stability QA Status Compatibility Released
1.2.0 stable Pass Magento 2.4.7-2.4.9 Details 2026-07-08 08:54:58

Requires 30

Package Constraint
ext-ctype *
ext-curl *
ext-hash *
ext-mbstring *
magento/framework >=103.0.7 <104.0.0
magento/module-advanced-search >=100.4.0 <101.0.0
magento/module-backend >=102.0.0 <103.0.0
magento/module-catalog >=104.0.0 <105.0.0
magento/module-catalog-inventory >=100.4.0 <101.0.0
magento/module-catalog-search >=102.0.0 <103.0.0
magento/module-checkout >=100.4.0 <101.0.0
magento/module-config >=101.2.0 <102.0.0
magento/module-configurable-product >=100.4.0 <101.0.0
magento/module-cron >=100.4.0 <101.0.0
magento/module-customer >=103.0.0 <104.0.0
magento/module-eav >=102.1.0 <103.0.0
magento/module-inventory-sales >=1.2.0 <2.0.0
magento/module-inventory-sales-api >=1.2.0 <2.0.0
magento/module-message-queue >=100.4.0 <101.0.0
magento/module-review >=100.4.0 <101.0.0
magento/module-sales >=103.0.0 <104.0.0
magento/module-search >=101.1.0 <102.0.0
magento/module-store >=101.1.0 <102.0.0
magento/module-ui >=101.2.0 <102.0.0
magento/module-wishlist >=101.2.0 <102.0.0
php >=8.1
ppl/module-hub ^1.2
psr/log ^1.0 || ^2.0 || ^3.0
symfony/console ^6.4 || ^7.0
symfony/process ^6.4 || ^7.0

Conflicts 1

Package Constraint
ppl/scored_search ^1.2

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Warning 147 147 warnings (ruleset: Magento2), 2 auto-fixable with phpcbf
PHPMD Warning 24 24 rule violations (UnusedFormalParameter:20, UnusedPrivateMethod:4)
Cpd Warning 23 23 duplicated chunks spanning 776 total lines (min-lines=5, min-tokens=70)
Composer validate Info 1 valid; 1 advisory note (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass Pass

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit N/A 0 no resolvable dependency tree to audit: Your requirements could not be resolved to an installable set of packages. Problem 1
Malware scan Pass 0
License
proprietary
Authors
  • Pawel Pliousnin — Developer

More from Pawel Pliousnin Digital Solutions

View vendor
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.