1

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

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

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

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

  2. 将关注博客的用户的 ID 添加到所有博客文章的内容中。然后搜索匹配关键字和登录用户ID的帖子。
    这会导致大量数据重复,并且看起来像是一个肮脏的黑客攻击。

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

谢谢你。

4

1 回答 1

0

You need haystack MultiValueField. Check the example here.

于 2013-07-07T22:04:16.810 回答