0

我正在尝试搜索后端的所有页面,以查找具有过时域名的 url 实例。但是当我搜索时,它似乎只根据页面标题而不是它们的内容来获得点击量。有什么我需要配置才能完成这项工作吗?

谢谢!

4

1 回答 1

3

要搜索所有页面类型(例如标题)以外的字段,您需要在页面模型上定义一个search_fields属性,例如:

from wagtail.search import index

class MyPage(Page):
    body = StreamField(...)

    search_fields = Page.search_fields + [
        index.SearchField('body')
    ]

设置完成后,您需要更新搜索索引以包含这些新数据,方法是运行./manage.py update_index.

如果您运行的是 2.14.x 或更早版本,您还需要设置替代搜索后端,例如 Postgres 或 Elasticsearch -默认wagtail.search.backends.db搜索后端非常有限,仅支持在“核心”字段(例如标题)上进行搜索。从 2.15 开始,新的wagtail.search.backends.database后端可用并在新项目中启用,并且完全支持跨所有领域的搜索。

于 2022-01-12T22:09:51.187 回答