🔍
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-searchwithelastic
ddev composer require pennebaker/craft-searchwithelastic
ddev add-on get ddev/ddev-elasticsearch
docker-compose exec web composer require pennebaker/craft-searchwithelastic
Getting 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) %}