Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Node Search Bundle Laravel Package

kunstmaan/node-search-bundle

KunstmaanNodeSearchBundle adds Elasticsearch-powered search to Kunstmaan CMS nodes, letting you index and query page content with configurable search services and Symfony integration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • This is a Symfony bundle, not a Laravel package. It sits on top of KunstmaanNodeBundle (the CMS node/page entity model) and KunstmaanSearchBundle (a search abstraction, typically Elasticsearch-backed). It therefore assumes Symfony's DI container, bundle registration, event/subscriber wiring, and the Kunstmaan node lifecycle — none of which map onto Laravel's service container, Eloquent models, or Laravel Scout.
  • For a Laravel codebase the architectural fit is effectively zero; the bundle cannot be installed via Composer into a Laravel app without pulling in the entire Kunstmaan CMS stack.
  • For an existing Kunstmaan/Symfony application the fit is native but shallow: the bundle is a thin integration layer between two other packages, so its value is mostly the glue (indexing subscribers, node-to-document mapping).

Integration feasibility

  • Laravel: not feasible without a fork-and-rewrite. The realistic work is "reimplement node search against a modern engine," at which point the bundle contributes design reference only.
  • Symfony/Kunstmaan: feasible in principle, but bounded by abandoned upstream dependencies, a PHP-version ceiling consistent with the 2014 era (PHP 5.x / Symfony 2.x), and Elasticsearch client versions that will not talk to a current cluster.
  • Composer resolution is the first blocker: transitive constraints from the parent bundles will likely conflict with any modern PHP runtime.

Technical risk

  • Very high. Last release 2014-04-05, 8 stars, 0 dependents, no maintainer activity. No security patching, no CVE response, no compatibility work.
  • License: NOASSERTION. No clear license file means redistribution and commercial use are legally unresolved. This is a hard stop before any fork or vendor-and-patch plan.
  • Bus factor is effectively one historical author; there is no community to escalate to.
  • The search engine it targets (older Elasticsearch) is itself past end-of-life in most deployments, compounding the dependency risk.

Key questions

  • Are we actually running Kunstmaan CMS, or is this being evaluated for a Laravel app by mistake? (The latter appears to be the case.)
  • What does legal say about the unlicensed repository — can we fork, or must we clean-room the design?
  • What search capabilities do we need: full-text relevance, faceting, multi-index, permission-aware filtering, typo tolerance?
  • What is the source-of-truth data model — CMS nodes, or relational records in Eloquent?
  • What is the acceptable indexing latency (synchronous on save vs. queued), and who owns relevance tuning?

Integration Approach

Stack fit

  • Laravel recommendation: do not integrate this bundle. Use Laravel Scout with Meilisearch, Typesense, or Algolia for the common case; use the official elasticsearch/elasticsearch client plus a custom indexer if you need Elasticsearch-specific features.
  • Symfony recommendation: if the host app is Kunstmaan, evaluate FOSElasticaBundle or a direct client integration instead of reviving this bundle.

Migration path

  • If inheriting a Kunstmaan application: freeze the bundle at its current version, extract the search contract (what gets indexed, which fields, which query shapes), then reimplement indexing and querying against a supported client.
  • Treat the bundle as a specification, not a dependency — read the node-indexing subscribers to learn which node fields and translation variants were indexed, then rebuild that mapping in the new indexer.

Compatibility

  • PHP and Symfony version ceilings are the primary constraint; expect conflicts with any PHP 8.x runtime.
  • Elasticsearch client/server protocol mismatch: the 2014-era client will not negotiate with ES 7/8. Index mappings and analyzers would need rewriting regardless.
  • Licensing must be resolved before any code is vendored, forked, or redistributed — plan for a legal review gate ahead of engineering work.

Sequencing

  1. Decision gate: confirm framework target (Laravel vs. Kunstmaan) and obtain a license determination.
  2. Discovery: inventory indexable entities, search requirements, and current query patterns.
  3. Prototype: stand up the chosen engine and index a representative subset behind a feature flag.
  4. Dual-write: index to both old and new during a shadow period; compare result quality offline.
  5. Cutover: shift read traffic with a flag and a rollback path.
  6. Decommission: remove the bundle and its transitive dependencies from the lockfile.

Operational Impact

Maintenance

  • Adopting this means owning it. There is no upstream maintenance; every PHP, Symfony, or Elasticsearch upgrade becomes an internal patch.
  • Expect ongoing cost to be dominated by dependency archaeology rather than feature work — a poor ratio for a package whose scope is a thin integration layer.

Support

  • No vendor, no active maintainer, 8 stars, 0 dependents: there is no community to ask, no issue triage, and no upgrade guides. Escalation is internal-only.
  • Internal knowledge of Kunstmaan's node/search architecture is scarce in the hiring market; document heavily if any part is retained.

Scaling

  • Search scaling is a property of the underlying engine, not this bundle, so performance ceilings come from the engine choice and index design.
  • Indexing throughput is the likely bottleneck: node-save subscribers typically index synchronously, so CMS write latency and search freshness are coupled. A queued indexing model is a necessary redesign, not an option.
  • Multi-language and multi-site node trees (common in Kunstmaan installs) multiply index size and mapping complexity.

Failure modes

  • Silent index drift when content is written outside the subscribed lifecycle (bulk imports, direct DB changes, migrations).
  • Ghost documents for deleted or unpublished nodes if deletion/unpublish hooks are missed — a correctness and potential data-exposure issue.
  • Permission leakage if access control is enforced in the application layer but not re-applied at query time.
  • Total loss of security patching in the bundle and its transitive dependencies.
  • Legal halt mid-project if the NOASSERTION license is challenged after engineering effort is committed.
  • Upgrade dead-end: inability to move to a supported PHP or Elasticsearch version without a rewrite you could have done directly.

Ramp-up

  • For a Laravel team: not applicable — the package cannot be used, so ramp-up cost is zero but also yields zero value. The real ramp-up is learning the chosen search engine and index design.
  • For a Kunstmaan-experienced developer: low to moderate to read the code, but that skill is not broadly available and does not transfer to the recommended target stack.
  • TPM recommendation: reject for adoption; retain as a reference implementation only if a Kunstmaan migration is already in flight. Budget the effort as a search re-platforming project, not a package integration.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource