Wagtail:如何在子类页面中使用自定义SearchField声明执行站点范围的搜索?



我使用POSTGRES后端内置的Wagtail搜索。我不想去弹性搜索,因为这将是多余的网站有关。

我碰到的问题,找不到任何信息是如何执行一个站点范围的搜索,包括子类页面中声明的所有搜索字段。

例如:

class SEOPage(Page):
....
search_fields = Page.search_fields + [
index.SearchField('summary'),
]
class BlogDetailPage(SEOPage):
....
search_fields = SEOPage.search_fields + [
index.SearchField('body'),
]

但是如果做像

这样的事情
Page.objects.search("findme")

或者

Page.objects.specific().search("findme")

则不搜索摘要或正文字段,因为它们在页面模型级别不存在。

是否有任何方法来执行一个网站范围内的搜索,包括所有的搜索字段的网站?

感谢Matt Westcott,解决方案是使用POSTGRES后端:https://docs.wagtail.io/en/latest/reference/contrib/postgres_search.html

使用它可以很容易地添加多语言支持

最新更新