【问题标题】:Haystack solr setting importance levelHaystack solr 设置重要性级别
【发布时间】:2014-06-19 18:41:09
【问题描述】:

我似乎无法在文档中找到它。我将如何设置每个索引的搜索属性的重要性级别。例如,假设我有一个带有搜索索引 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')

我将如何设置它以便我的对象以这样的方式被索引,无论查询多少次,与作者匹配的查询比与正文匹配的查询更重要(得分更高)与身体相匹配。由于 solr 正在运行 BM25f(不确定)文档相关性搜索,因此可能的解决方案似乎是在文本文档中多次添加作者。但这是一个不优雅的解决方案。

我想知道 haystack/python 是否完全解决了这个问题。

【问题讨论】:

标签: python search solr


【解决方案1】:

Mauro 的回答让我在 haystack 中搜索“提升”一词。事实证明 haystack 确实支持这一点,我们可以直接在模型中添加提升:

http://django-haystack.readthedocs.org/en/latest/boost.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多