Skip to content

feat(admin): Add global admin search for blog entries without ElasticSearch (#43)#59

Open
logmedia-openclaw wants to merge 1 commit intoWerkstattl:mainfrom
logmedia-openclaw:feat/admin-blog-search-43
Open

feat(admin): Add global admin search for blog entries without ElasticSearch (#43)#59
logmedia-openclaw wants to merge 1 commit intoWerkstattl:mainfrom
logmedia-openclaw:feat/admin-blog-search-43

Conversation

@logmedia-openclaw
Copy link

Summary

Adds the ability to search blog entries in Shopware's global admin backend search - without requiring ElasticSearch.

Changes

Backend (PHP)

  • BlogEntryAdminSearchHandler.php - DAL-based search handler using SearchTermInterpreter and MultiFieldScoreFilter
  • BlogAdminSearchController.php - REST endpoint at POST /api/_admin/blog-search
  • Updated services.xml to register new services

Frontend (JavaScript)

  • blog-search-api.service.js - API service for blog search
  • blog-search.mixin.js - Mixin for integration with search bar
  • Updated main.js to register blog search service and types
  • Added snippets (de-DE, en-GB) for search labels

How it works

Since Shopware's native admin search (/api/_admin/es-search) is entirely dependent on ElasticSearch with no DAL fallback, this implementation provides:

  1. A custom REST endpoint that accepts search terms
  2. Uses DAL with SearchTermInterpreter to parse the query
  3. Applies MultiFieldScoreFilter for relevance scoring across title, slug, and teaser fields

Usage

The blog search can be integrated into the admin UI by decorating the sw-search-bar component to use the blog search service. The endpoint can also be called directly:

POST /api/_admin/blog-search
{
"term": "search term",
"limit": 10
}

Notes

Closes #43

…Search

- Add BlogEntryAdminSearchHandler using DAL-based search
- Add BlogAdminSearchController with /_admin/blog-search endpoint
- Register blog search service and types in admin JavaScript
- Add snippets for search labels (de-DE, en-GB)

Works without ElasticSearch by using SearchTermInterpreter and
MultiFieldScoreFilter for relevance-based searching.

Refs: Werkstattl#43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can we make the blog entries in the administration searchable?

1 participant