升级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
相关产品推荐
相关产品推荐

