0

我正在使用带有 POSTGRES 后端的内置 Wagtail 搜索。我不想去 Elastic Search,因为这对相关网站来说太过分了。

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

例如:

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")

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

有什么方法可以执行包含站点中所有 SearchField 的站点范围的搜索?

4

1 回答 1

0

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

使用它也很容易添加多语言支持。

于 2021-08-02T12:14:37.487 回答