thoughtco/zinc-search

There is no license information available for the latest version (dev-main) of this package.

dev-main 2023-06-28 20:33 UTC

This package is auto-updated.

Last update: 2024-10-28 23:36:23 UTC


README

ZincSearch is a Statamic addon to speed up your listing views in the control by using the power of ZincSearch.

Features

This addon makes your control panel listings go super-dooper-fast.

How to Install

Ensure you have a working ZincSearch installation.

Run the following command from your project root:

composer require thoughtco/zinc-search

Add the zincsearch driver to the drivers array in config/statamic/search.php:

        'zincsearch' => [
             'credentials' => [
                'url' => env('ZINCSEARCH_URL', ''),
                'username' => env('ZINCSEARCH_USERNAME', ''),
                'password' => env('ZINCSEARCH_PASSWORD', ''),
            ],           
        ],

Add the variables to your .env file for ZINCSEARCH_URL, ZINCSEARCH_USERNAME and ZINCSEARCH_PASSWORD.

How to Use

Set up a search index for the collection e.g.

'pages' => [
    'driver' => 'zincsearch',
    'searchables' => ['collection:pages'],
    'fields' => ['id', 'title', 'url', 'content', 'status'],
    'searchable_fields' => ['title, 'slug'],
    'settings' => [],
],

Then apply this to your collection YAML definition with a key of search_index e.g.

title: Pages
revisions: false
title_format: null
sort_by: title
sort_dir: asc
preview_targets:
  -
    label: Entry
    url: '{permalink}'
structure:
  root: true
search_index: pages

Antlers / Front end

To make use of this use the speed of this search in your front end, use the search_index tag instead of collection.

e.g.

{{ search:results index="pages" supplement_data="false" for="*" as="results" limit="10" offset="0" paginate="10" }}
    {{ if no_results }}
    No results
    {{ else }}
        {{ results }}
        <p>{{ id }} - {{ title }}</p>
        {{ /results }}
    {{ /if }}
{{ /search:results }}