Django 摇尾非索引体字段
我在找。它可以从“标题”中找到单词,但不能从“正文”文本中找到。我没有其他设置,只有默认设置 有什么想法吗Django 摇尾非索引体字段,django,wagtail,Django,Wagtail,我在找。它可以从“标题”中找到单词,但不能从“正文”文本中找到。我没有其他设置,只有默认设置 有什么想法吗 class StandardPage(Page): body = RichTextField(features=['h2', 'bold', 'italic', 'link', 'ol', 'ul', 'document-link', 'image', 'embed']) sidebar_image = models.ForeignKey( 'wagtail
class StandardPage(Page):
body = RichTextField(features=['h2', 'bold', 'italic', 'link', 'ol', 'ul', 'document-link', 'image', 'embed'])
sidebar_image = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
# Search index configuration
search_fields = Page.search_fields + [ # Inherit search_fields from Page
index.SearchField('body'),
]
这就是我的观点
def search(request):
search_query = request.GET.get('query', None)
page = request.GET.get('page', 1)
# Search
if search_query:
search_results = Page.objects.live().search(search_query)
query = Query.get(search_query)
# Record hit
query.add_hit()
else:
search_results = Page.objects.none()
return render(request, 'search/search.html', {
'search_query': search_query,
'search_results': search_results,
})
这是默认情况下启用的基于数据库的搜索后端的限制。根据: 数据库后端非常基本,仅用于开发和小型站点。它不能按相关性排序结果,这严重影响了它在搜索大量页面时的实用性 它也不支持:搜索页面子类中的字段,除非直接搜索该类
StandardPage上的正文字段就是这样一个字段-它不会被Page.objects.live.searchsearch\u查询搜索,只会被StandardPage.objects.live.Search\u查询搜索。对于可以跨所有页面类型工作并搜索每个页面的全部内容的通用搜索界面,您需要切换到其他搜索后端。是否运行文档中提到的更新搜索索引的管理命令?我运行了/manage.py update_index返回后端“default”不需要重建Thanx,仅此而已。