gpt4 book ai didi

在 PostgreSQL 中进行全文搜索的 Django 模型架构

转载 作者:行者123 更新时间:2023-11-29 11:34:36 25 4
gpt4 key购买 nike

我正在为特定主题的社交互动构建一个网站,该网站基于线程,想想 gmail,仅公开。词汇表中也会有一些静态信息,还有博客、how-tos、知识库等。就是django+postgres。

最重要的要求之一是对所有信息进行全文搜索,而不管模型的类型。如果确切的搜索短语出现在博客中,而它扭曲的姐妹出现在消息中,那么博客条目中的一个片段应该首先出现在搜索结果中,然后是消息中的一个片段。所以,我需要一个包含所有文本索引的表,以及数据库中_any_other_table_ 的链接。

我的第一个想法是创建一个带有“松散引用”的单独模型,例如:

class Content(models.Model):
obj_id= CharField() # An id of the object of a given model.
model= CharField(choices=("Message", "BlogEntry", "HowTo", "EntityProfile",))
content_type= CharField(choices=("subject", "body", "description", "tags",))
body= TextField()

但感觉有点不对……这预示着在创建和重新链接实例时会围绕引用的完整性造成不必要的麻烦。

所以,问题是——django 是否提供任何优雅的解决方案?解决问题的最有效架构可能是什么?

我不是要直接回答,而是要提示。

提前致谢!

最佳答案

我在使用 this snippet 方面取得了很大的成功,它使用 PostgreSQL 的 tsearch2。我以各种不同的方式针对各种不同的目的对其进行了调整,但基本上它运行良好,并且非常容易实现。

关于在 PostgreSQL 中进行全文搜索的 Django 模型架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13464895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com