CMS中的Wagtail搜索



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

谢谢!

要搜索所有页面类型(如标题(通用字段之外的字段,您需要在页面模型上定义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搜索后端非常有限,只支持在"核心"字段(如title(上搜索。从2.15起,新的wagtail.search.backends.database后端可用,并在新项目上开箱即用,这完全支持在所有字段中搜索。

最新更新