干草堆用外键搜索

时间:2013-07-07 16:46:05

标签: django django-haystack

我正在构建一个Django应用程序,用户可以根据帖子标题或内容中出现的关键字搜索其他人的博客。我知道Haystack是进行这些类型搜索的好选择。

但是,我还希望用户能够通过他们“跟随”的博客过滤结果,这些博客存储为用户和博客之间的多对多关系。由于Haystack后端不存储外键关系,我有哪些选择?

我是新手,所以我想到了以下选项,这可能不是最有效的。

  1. 在所有博客中搜索给定的关键字,以获得一组发布结果。然后在数据库中查询所有关注的博客,并按关键字结果过滤它们 如果在关键字搜索中有很多成果,那么我不确定这会有多好。

  2. 将关注博客的用户的ID添加到所有博客帖子的内容中。然后搜索与关键字匹配的帖子和登录用户的ID 这会导致大量的数据重复,这似乎是一个肮脏的黑客。

  3. 是否有任何标准方法可以将外键查询与文本搜索查询相结合?

    谢谢。

1 个答案:

答案 0 :(得分:0)

你需要干草堆MultiValueField。查看示例here