我似乎无法在文档中找到它。如何设置每个索引的搜索属性的重要性级别。例如,假设我有一个带有搜索索引NoteIndex的模型Note,
模特:
class Note(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField()
title = models.CharField(max_length=200)
body = models.TextField()
索引:
class NoteIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
body = indexes.CharFiled(model_attr = 'body')
author = indexes.CharField(model_attr='user')
pub_date = indexes.DateTimeField(model_attr='pub_date')
我如何设置它以便我的对象被编入索引,使得与作者匹配的查询比具有与body匹配的查询更重要(得分更高),无论查询是多少次与身体相匹配。由于solr正在运行BM25f(不确定)文档相关性搜索,因此可能的解决方案似乎是多次在文本文档中添加作者。但这是一个不优雅的解决方案。
我想知道haystack / python是否能解决这个问题。
答案 0 :(得分:0)
Mauro的回答让我去寻找“提升”这个术语。在干草堆里。事实证明,haystack支持这一点,我们可以直接在模型中添加提升: