You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Wagtail 3.x后PostgreSQL搜索无结果问题求助

Wagtail从2.13.5升级至3.0.3后PageQuerySet.search()返回空结果

问题现象

  • 升级前(2.13.5版本):搜索后端为wagtail.contrib.postgres_search.backend.PostgresSearchBackend,执行以下代码可返回大量匹配结果:
    search_backend.search('popular-search-term', qs, fields=None, operator=None, order_by_relevance=True, partial_match=True)
    
  • 升级后(3.0.3版本):搜索后端变为wagtail.search.backends.database.postgres.postgres.PostgresSearchBackend,相同代码调用返回空查询集,且两次查询的PageQuerySet数据完全一致。

当前配置

搜索后端配置(settings.py)

WAGTAILSEARCH_BACKENDS = {
    'default': {
        'BACKEND': 'wagtail.search.backends.database',
        'SEARCH_CONFIG': 'english',
    },
}

INSTALLED_APPS配置(settings.py)

INSTALLED_APPS = [
    ...
    'wagtail.search',
    'wagtail.search.backends.database.postgres',
    ...
]

注:wagtail.search.backends.database.postgres为自行添加的配置项,原2.13版本使用的wagtail.contrib.postgres_search已被移除,官方文档未明确说明此处需配置的内容。

疑问

为何升级后调用PageQuerySet的search()方法会错误返回空结果?

内容的提问来源于stack exchange,提问作者nttaylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 23:45:36