🔍
Search API
Template variables for searching indexed content
Provides Elasticsearch-powered search functionality with real-time indexing for Craft CMS.
INFO
These docs were written by AI and may contain errors. Please report any issues or inconsistencies.
Search with Elastic indexes the following Craft content types:
composer require pennebaker/craft-searchwithelasticddev composer require pennebaker/craft-searchwithelastic
ddev add-on get ddev/ddev-elasticsearchdocker-compose exec web composer require pennebaker/craft-searchwithelasticGetting Started
See the Quick Start Guide for setup instructions.
The plugin provides template variables for searching:
{# Basic search #}
{% set results = craft.searchWithElastic.search(query) %}
{# Advanced search with options #}
{% set results = craft.searchWithElastic.searchExtra(query, {
    fuzzy: true,
    fields: ['title', 'content'],
    size: 20
}) %}// config/search-with-elastic.php
return [
    'elasticsearchEndpoint' => getenv('ELASTICSEARCH_ENDPOINT'),
    'isAuthEnabled' => true,
    'username' => getenv('ELASTICSEARCH_USERNAME'),
    'password' => getenv('ELASTICSEARCH_PASSWORD'),
];# Via CLI
./craft search-with-elastic/index/reindex-all
# Or via Control Panel
# Utilities → Refresh Elasticsearch Index{% set results = craft.searchWithElastic.search(query) %}