Skip to content
Wagtail Wagtail Documentation
  • Getting started
    • Your first Wagtail site
    • Quick install
    • Demo site
    • Integrating Wagtail into a Django project
    • The Zen of Wagtail
  • Tutorial
    • Customize your home page
    • Create a footer for all pages
    • Create editable footer text with Wagtail Snippets
    • Set up site menu for linking to the homepage and other pages
    • Style and improve user experience
    • Create contact page
    • Create a portfolio page
    • Add search to your site
    • Deploy your site
  • Usage guide
    • Page models
    • Writing templates
    • How to use images in templates
    • Search
      • Indexing
      • Searching
      • Backends
    • Snippets
      • Registering snippets
      • Rendering snippets
      • Optional features
      • Customizing admin views for snippets
    • How to use StreamField for mixed content
    • Permissions
  • Advanced
    • Images
      • Generating renditions in Python
      • Animated GIF support
      • Image file formats
      • Custom image models
      • Changing rich text representation
      • Feature detection
      • Dynamic image serve view
      • Focal points
      • Title generation on upload
    • Documents
      • Documents overview
      • Custom document model
      • Custom document upload form
      • Storing and serving
      • Title generation on upload
    • Icons
    • Embedded content
    • Tagging
    • How to add Wagtail into an existing Django project
    • Performance
    • Internationalization
    • Private pages
    • Customizing Wagtail
      • Customizing the editing interface
      • Custom page listings
      • Customizing admin templates
      • Custom user models
      • How to build custom StreamField blocks
    • Third-party tutorials
    • Testing your Wagtail site
    • Wagtail API
      • Wagtail API v2 configuration guide
      • Wagtail API v2 usage guide
    • How to build a site with AMP support
    • Accessibility considerations
    • Sustainability considerations
    • About StreamField BoundBlocks and values
    • Multi-site, multi-instance and multi-tenancy
    • How to use a redirect with Form builder to prevent double submission
    • StreamField migrations
    • StreamField validation
    • Manage the reference index
    • Headless support
  • Extending
    • Creating admin views
    • Generic views
    • Template components
    • Using forms in admin views
    • Adding reports
    • Adding new Task types
    • Audit log
    • Customizing the user account settings form
    • Customizing group edit/create views
    • Custom image filters
    • Extending client-side behavior
    • Rich text internals
    • Extending the Draftail editor
    • Adding custom bulk actions
  • Reference
    • Pages
      • Theory
      • Recipes
      • Page QuerySet reference
    • StreamField reference
      • StreamField block reference
      • Form widget client-side API
      • StreamField data migration reference
    • Contrib modules
      • Settings
      • Form builder
        • Form builder customization
      • Sitemap generator
      • Frontend cache invalidator
      • RoutablePageMixin
      • Promoted search results
      • Simple translation
      • TableBlock
      • Typed table block
      • Redirects
      • Legacy richtext
    • Management commands
    • Model reference
    • Hooks
    • Signals
    • Settings
    • The project template
    • Jinja2 template support
    • Panels
    • Viewsets
  • Deployment & hosting
  • Support
  • Editor’s guide
  • Contributing
    • Issue tracking
    • Your first contribution
    • Development
    • UI Styleguide
    • General coding guidelines
    • Python coding guidelines
    • UI guidelines
    • Documentation guidelines
    • Writing documentation
    • Translations
    • Reporting security issues
    • Committing code
    • Wagtail’s release process
  • Release notes
    • Upgrading Wagtail
    • Wagtail 6.4.1 release notes
    • Wagtail 6.4 release notes
    • Wagtail 6.3.4 release notes - IN DEVELOPMENT
    • Wagtail 6.3.3 release notes
    • Wagtail 6.3.2 release notes
    • Wagtail 6.3.1 release notes
    • Wagtail 6.3 (LTS) release notes
    • Wagtail 6.2.3 release notes
    • Wagtail 6.2.2 release notes
    • Wagtail 6.2.1 release notes
    • Wagtail 6.2 release notes
    • Wagtail 6.1.3 release notes
    • Wagtail 6.1.2 release notes
    • Wagtail 6.1.1 release notes
    • Wagtail 6.1 release notes
    • Wagtail 6.0.6 release notes
    • Wagtail 6.0.5 release notes
    • Wagtail 6.0.4 release notes
    • Wagtail 6.0.3 release notes
    • Wagtail 6.0.2 release notes
    • Wagtail 6.0.1 release notes
    • Wagtail 6.0 release notes
    • Wagtail 5.2.8 release notes
    • Wagtail 5.2.7 release notes
    • Wagtail 5.2.6 release notes
    • Wagtail 5.2.5 release notes
    • Wagtail 5.2.4 release notes
    • Wagtail 5.2.3 release notes
    • Wagtail 5.2.2 release notes
    • Wagtail 5.2.1 release notes
    • Wagtail 5.2 (LTS) release notes
    • Wagtail 5.1.3 release notes
    • Wagtail 5.1.2 release notes
    • Wagtail 5.1.1 release notes
    • Wagtail 5.1 release notes
    • Wagtail 5.0.5 release notes
    • Wagtail 5.0.4 release notes
    • Wagtail 5.0.3 release notes
    • Wagtail 5.0.2 release notes
    • Wagtail 5.0.1 release notes
    • Wagtail 5.0 release notes
    • Wagtail 4.2.4 release notes
    • Wagtail 4.2.3 release notes
    • Wagtail 4.2.2 release notes
    • Wagtail 4.2.1 release notes
    • Wagtail 4.2 release notes
    • Wagtail 4.1.9 release notes
    • Wagtail 4.1.8 release notes
    • Wagtail 4.1.7 release notes
    • Wagtail 4.1.6 release notes
    • Wagtail 4.1.5 release notes
    • Wagtail 4.1.4 release notes
    • Wagtail 4.1.3 release notes
    • Wagtail 4.1.2 release notes
    • Wagtail 4.1.1 release notes
    • Wagtail 4.1 (LTS) release notes
    • Wagtail 4.0.4 release notes
    • Wagtail 4.0.2 release notes
    • Wagtail 4.0.1 release notes
    • Wagtail 4.0 release notes
    • Wagtail 3.0.3 release notes
    • Wagtail 3.0.2 release notes
    • Wagtail 3.0.1 release notes
    • Wagtail 3.0 release notes
    • Wagtail 2.16.3 release notes
    • Wagtail 2.16.2 release notes
    • Wagtail 2.16.1 release notes
    • Wagtail 2.16 release notes
    • Wagtail 2.15.6 release notes
    • Wagtail 2.15.5 release notes
    • Wagtail 2.15.4 release notes
    • Wagtail 2.15.3 release notes
    • Wagtail 2.15.2 release notes
    • Wagtail 2.15.1 release notes
    • Wagtail 2.15 (LTS) release notes
    • Wagtail 2.14.2 release notes
    • Wagtail 2.14.1 release notes
    • Wagtail 2.14 release notes
    • Wagtail 2.13.5 release notes
    • Wagtail 2.13.4 release notes
    • Wagtail 2.13.3 release notes
    • Wagtail 2.13.2 release notes
    • Wagtail 2.13.1 release notes
    • Wagtail 2.13 release notes
    • Wagtail 2.12.6 release notes
    • Wagtail 2.12.5 release notes
    • Wagtail 2.12.4 release notes
    • Wagtail 2.12.3 release notes
    • Wagtail 2.12.2 release notes
    • Wagtail 2.12.1 release notes
    • Wagtail 2.12 release notes
    • Wagtail 2.11.9 release notes
    • Wagtail 2.11.8 release notes
    • Wagtail 2.11.7 release notes
    • Wagtail 2.11.6 release notes
    • Wagtail 2.11.5 release notes
    • Wagtail 2.11.4 release notes
    • Wagtail 2.11.3 release notes
    • Wagtail 2.11.2 release notes
    • Wagtail 2.11.1 release notes
    • Wagtail 2.11 (LTS) release notes
    • Wagtail 2.10.2 release notes
    • Wagtail 2.10.1 release notes
    • Wagtail 2.10 release notes
    • Wagtail 2.9.3 release notes
    • Wagtail 2.9.2 release notes
    • Wagtail 2.9.1 release notes
    • Wagtail 2.9 release notes
    • Wagtail 2.8.2 release notes
    • Wagtail 2.8.1 release notes
    • Wagtail 2.8 release notes
    • Wagtail 2.7.4 release notes
    • Wagtail 2.7.3 release notes
    • Wagtail 2.7.2 release notes
    • Wagtail 2.7.1 release notes
    • Wagtail 2.7 (LTS) release notes
    • Wagtail 2.6.3 release notes
    • Wagtail 2.6.2 release notes
    • Wagtail 2.6.1 release notes
    • Wagtail 2.6 release notes
    • Wagtail 2.5.2 release notes
    • Wagtail 2.5.1 release notes
    • Wagtail 2.5 release notes
    • Wagtail 2.4 release notes
    • Wagtail 2.3 (LTS) release notes
    • Wagtail 2.2.2 release notes
    • Wagtail 2.2.1 release notes
    • Wagtail 2.2 release notes
    • Wagtail 2.1.3 release notes
    • Wagtail 2.1.2 release notes
    • Wagtail 2.1.1 release notes
    • Wagtail 2.1 release notes
    • Wagtail 2.0.2 release notes
    • Wagtail 2.0.1 release notes
    • Wagtail 2.0 release notes
    • Wagtail 1.13.4 release notes
    • Wagtail 1.13.3 release notes
    • Wagtail 1.13.2 release notes
    • Wagtail 1.13.1 release notes
    • Wagtail 1.13 (LTS) release notes
    • Wagtail 1.12.6 release notes
    • Wagtail 1.12.5 release notes
    • Wagtail 1.12.4 release notes
    • Wagtail 1.12.3 release notes
    • Wagtail 1.12.2 release notes
    • Wagtail 1.12.1 release notes
    • Wagtail 1.12 (LTS) release notes
    • Wagtail 1.11.1 release notes
    • Wagtail 1.11 release notes
    • Wagtail 1.10.1 release notes
    • Wagtail 1.10 release notes
    • Wagtail 1.9.1 release notes
    • Wagtail 1.9 release notes
    • Wagtail 1.8.2 release notes
    • Wagtail 1.8.1 release notes
    • Wagtail 1.8 (LTS) release notes
    • Wagtail 1.7 release notes
    • Wagtail 1.6.3 release notes
    • Wagtail 1.6.2 release notes
    • Wagtail 1.6.1 release notes
    • Wagtail 1.6 release notes
    • Wagtail 1.5.3 release notes
    • Wagtail 1.5.2 release notes
    • Wagtail 1.5.1 release notes
    • Wagtail 1.5 release notes
    • Wagtail 1.4.6 release notes
    • Wagtail 1.4.5 release notes
    • Wagtail 1.4.4 release notes
    • Wagtail 1.4.3 release notes
    • Wagtail 1.4.2 release notes
    • Wagtail 1.4.1 release notes
    • Wagtail 1.4 (LTS) release notes
    • Wagtail 1.3.1 release notes
    • Wagtail 1.3 release notes
    • Wagtail 1.2 release notes
    • Wagtail 1.1 release notes
    • Wagtail 1.0 release notes
    • Wagtail 0.8.10 release notes
    • Wagtail 0.8.8 release notes
    • Wagtail 0.8.7 release notes
    • Wagtail 0.8.6 release notes
    • Wagtail 0.8.5 release notes
    • Wagtail 0.8.4 release notes
    • Wagtail 0.8.3 release notes
    • Wagtail 0.8.1 release notes
    • Wagtail 0.8 (LTS) release notes
    • Wagtail 0.7 release notes
    • Wagtail 0.6 release notes
    • Wagtail 0.5 release notes
    • Wagtail 0.4.1 release notes
    • Wagtail 0.4 release notes
  1. Docs
  2. Usage guide
  3. Search
Edit on GitHub View source

Search¶

Wagtail provides a comprehensive and extensible search interface. In addition, it provides ways to promote search results through “Editor’s Picks”. Wagtail also collects simple statistics on queries made through the search interface.

  • Indexing
    • Updating the index
    • Indexing extra fields
    • Indexing custom models
  • Searching
    • Searching QuerySets
    • Changing search behavior
    • An example page search view
    • Promoted search results
  • Backends
    • AUTO_UPDATE
    • ATOMIC_REBUILD
    • BACKEND
    • Rolling Your Own

Indexing¶

To make objects searchable, they must first be added to the search index. This involves configuring the models and fields that you would like to index (which is done for you for Pages, Images and Documents), and then actually inserting them into the index.

See Updating the index for information on how to keep the objects in your search index in sync with the objects in your database.

If you have created some extra fields in a subclass of Page or Image, you may want to add these new fields to the search index, so a user’s search query can match the Page or Image’s extra content. See Indexing extra fields.

If you have a custom model which doesn’t derive from Page or Image that you would like to make searchable, see Indexing custom models.

Searching¶

Wagtail provides an API for performing search queries on your models. You can also perform search queries on Django QuerySets.

See Searching.

Backends¶

Wagtail provides two backends for storing the search index and performing search queries: one using the database’s full-text search capabilities, and another using Elasticsearch. It’s also possible to roll your own search backend.

See Backends.

← How to use images in templates Indexing  →

Page contents

  • Search
    • Indexing
    • Searching
    • Backends
  • Features
  • About Wagtail
  • Services
  • Blog
  • Packages
  • Developers
© Copyright 2025, Wagtail core team and contributors. BSD license
Created using Sphinx Wagtail Theme 6.5.0 and Sphinx 7.4.7