Drupal is a registered trademark of Dries Buytaert
drupal 10.6.12 Update released for Drupal core (10.6.12)! drupal 11.3.13 Update released for Drupal core (11.3.13)! drupal 10.6.11 Update released for Drupal core (10.6.11)! drupal 11.3.12 Update released for Drupal core (11.3.12)! drupal 11.2.14 Update released for Drupal core (11.2.14)! drupal 10.5.12 Update released for Drupal core (10.5.12)! cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)!

Search AI Feedback lets visitors rate individual search results as Helpful or Not helpful directly on the results page. Site administrators can review satisfaction trends, see which query + result pairs receive negative feedback, and generate AI-powered recommendations to improve search quality.

This module answers a common problem: analytics show what people searched for, but not whether the results they clicked were actually useful. By collecting feedback per result, content and search teams get actionable signals to fix weak pages, synonyms, and ranking issues.

It works with Drupal core Search and with Search API — the standard Drupal integration used for external search engines. No block placement is required; the widget attaches automatically on supported search result listings.

Features

  • Per-result feedback widget — “Was this helpful?” with thumbs up / thumbs down on every search result.
  • Automatic attachment — no blocks; integrates via Drupal search result templates.
  • Search-backend agnostic — works with Drupal core Search and Search API; does not depend on a specific index technology.
  • Compatible external search (via Search API):
    • Apache Solr (most common)
    • OpenSearch
    • Elasticsearch
    • Database and other Search API backends
  • Configurable search URLs — default /search; supports custom paths such as /find, /site-search, or language prefixes like /en/search.
  • Anonymous voting (optional) — one vote per user per query + result; duplicate votes prevented.
  • Admin dashboard — satisfaction overview, latest query + result ratings, mixed-feedback highlighting.
  • AI recommendations — up to five concrete, data-driven action items from aggregated votes (requires the AI module).
  • Developer extensibility — alter hook and services for custom search UIs.
  • Lightweight design — no queues, cron jobs, or blocks; AI insight text stored in admin session only.

When to use this module

  • You run site search (core Search or Search API) and want direct user feedback on result quality.
  • You use Solr, OpenSearch, or Elasticsearch through Search API and need relevance signals beyond click logs.
  • You want editors to see which pages fail for which queries, not only top search terms.
  • You use the AI module and want search-specific improvement suggestions from real vote data.

What it does not do automatically

  • Does not connect directly to Solr, Elasticsearch, or OpenSearch — it hooks into Drupal-rendered results.
  • Does not work on fully custom JavaScript search UIs or headless front ends without manual integration.
  • Does not change search ranking or indexes — it collects feedback and suggests improvements.

Post-Installation

  1. Enable the module: drush en search_ai_feedback -y and clear caches.
  2. Configure the AI module with a default chat provider (needed only for generating insights; voting works without it).
  3. Go to Configuration → AI → Search AI Feedback (/admin/config/ai/search-ai-feedback):
    • Enable Enable feedback collection.
    • Set Search result page paths to match your site (default /search).
    • Configure minimum votes for AI analysis, anonymous voting, and the AI prompt if needed.
  4. Assign permissions (see below).
  5. Visit your search page on the front end — each result should show the feedback widget.
  6. Review data at Reports → Search AI Feedback (/admin/reports/search-ai-feedback).
  7. After enough votes, click Generate AI Insights on the dashboard (requires permission).

Search URL configuration

If your search results are not under /search, add your path prefix in settings (one per line), for example:

  • /site-search
  • /find
  • /en/search

Leave the field empty to show the widget on all supported search listings regardless of URL.

Permissions to assign

  • Administer Search AI Feedback — settings
  • View Search AI Feedback Reports — dashboard
  • Generate AI Insights — run AI analysis

Voting uses standard Access content permission.

External search setup (Solr, OpenSearch, Elasticsearch)

Ensure search results are rendered through one of these Drupal patterns:

  • Search API + Views (typical Solr setup), or
  • Search API Page

Flow: External engine → Search API index → Views or Search API Page → Drupal templates → widget attached.

Custom search UIs

If your search is not rendered with standard Drupal templates, render the widget manually or implement hook_search_ai_feedback_result_context_alter(). See the module README and search_ai_feedback.api.php.

Additional Requirements

  • Drupal 11.x
  • PHP 8.3 or higher
  • AI module — required for generating AI insights (feedback collection does not require AI)

For Search API / external search (not bundled with this module)

  • Search API — required to use Solr, OpenSearch, Elasticsearch, etc.
  • Your chosen backend module, for example:
    • Search API Solr (Apache Solr)
    • Search API integrations for OpenSearch or Elasticsearch (as used on your site)
  • Views (core) or Search API Page — to display results in a supported template

Optional (local development only)

  • Ollama — fallback when the configured AI provider is unavailable; enable in settings or via environment variables
  • Search API — essential for Solr, OpenSearch, Elasticsearch, and advanced search on Drupal 11.
  • Search API Solr — if you use Apache Solr (the most common external search setup).
  • AI — required for AI insight generation on the dashboard.
  • Search API Page — alternative to Views for displaying Search API results.

Similar projects

Drupal has several search-related modules, but few combine per-result user feedback with AI-generated relevance recommendations:

  • Search API — provides search indexing and querying; does not collect end-user feedback on result quality. Search AI Feedback complements Search API by adding a feedback layer on rendered results.
  • Analytics modules (e.g. Google Analytics) — show search terms and traffic, but not whether a specific result was helpful for a specific query.
  • Custom webforms / polls — can collect opinions, but are not tied to individual search results and do not include search-specific AI analysis out of the box.

Search AI Feedback is focused on: lightweight per-result voting, a dedicated admin dashboard, and optional AI recommendations grounded in your vote data — with minimal configuration and no block placement.

Supporting this Module

Support development by reporting issues, contributing patches, and helping improve documentation on Drupal.org. Add your Patreon, Open Collective, or sponsorship links here if applicable.

Community Documentation

  • Module README (included in the package) — installation, configuration, search path examples, and developer integration.
  • Hook documentation: search_ai_feedback.api.php
  • Demo site / walkthrough — add links here when available.

Additional information

Compatible search setups at a glance

Setup Automatic widget Notes Drupal core Search Yes Default path /search Search API + Solr Yes Via Search API Views or Search API Page Search API + OpenSearch Yes Via Search API Views or Search API Page Search API + Elasticsearch Yes Via Search API Views or Search API Page Search API + database Yes Via Views or Search API Page Custom JS / headless search No Manual widget or alter hook required

How votes are stored

Each vote records the search query text, a stable result identifier (e.g. entity:node/42), the vote type, and timestamp. The dashboard shows the latest query + result pairs and overall helpful vs not helpful satisfaction.

Activity

Total releases
1
First release
Jun 2026
Latest release
13 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Jun 26, 2026