jdz/search

Site search library with text isolation and highlighting

Maintainers

Package info

github.com/joffreydemetz/search

Homepage

pkg:composer/jdz/search

Transparency log

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-07-06 21:37 UTC

This package is auto-updated.

Last update: 2026-07-06 21:38:55 UTC


README

Site search library with text isolation and highlighting.

Installation

composer require jdz/search

Components

  • Searcher — Abstract base class for building component-specific searchers
  • SearcherInterface — Contract for searcher implementations
  • SearchRepository — Logs search terms and tracks hit counts
  • Isolator — Extracts and highlights matching text from HTML content
  • Pagination — Calculates page navigation for search results

Usage

Create a concrete searcher by extending JDZ\Search\Searcher:

use JDZ\Search\Searcher;
use JDZ\Database\Query\SelectQuery;

class BlogSearcher extends Searcher
{
    protected string $name = 'blog';
    protected array $fields = ['blog.title', 'blog.content'];

    public function makeQuery(SelectQuery $query): void
    {
        $query
            ->select('DISTINCT(blog.id), blog.title, blog.content')
            ->from('#__blog AS blog')
            ->where('blog.published IS NOT NULL');

        parent::makeQuery($query);
    }
}

License

MIT