Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我应该如何在django应用程序中为大量文本内容建模?_Python_Django_Search_Model_Storage - Fatal编程技术网

Python 我应该如何在django应用程序中为大量文本内容建模?

Python 我应该如何在django应用程序中为大量文本内容建模?,python,django,search,model,storage,Python,Django,Search,Model,Storage,这是一个关于Django应用程序建模最佳实践的问题。该项目是一个博客,它将展示一些类似Markdown或RST的文章 我已经查阅了一些教程,为我提供了一些起点,到目前为止,它们都将文章的主体存储在模型中。这似乎是错误的:我对现代数据库引擎的理解并不是最好的,但存储任意长度的文本字段对性能并没有好处 目前有三种选择: 将文章模型限制为元数据,并创建一个单独的模型 储存物品的主体。至少只有一张桌子乱七八糟 将文章模型限制为元数据,并将文章正文存储为 静态文件 问问更有经验的人。也许把尸体放在模型里

这是一个关于Django应用程序建模最佳实践的问题。该项目是一个博客,它将展示一些类似Markdown或RST的文章

我已经查阅了一些教程,为我提供了一些起点,到目前为止,它们都将文章的主体存储在模型中。这似乎是错误的:我对现代数据库引擎的理解并不是最好的,但存储任意长度的文本字段对性能并没有好处

目前有三种选择:

  • 将文章模型限制为元数据,并创建一个单独的模型 储存物品的主体。至少只有一张桌子乱七八糟
  • 将文章模型限制为元数据,并将文章正文存储为 静态文件
  • 问问更有经验的人。也许把尸体放在模型里 毕竟没那么糟糕。。。至少它很容易搜索
    我应该如何建模此应用程序?如何使您的解决方案可搜索?

    将文章正文存储在数据库中不应成为问题。大多数博客引擎都采用这种方法。它将比存储在单独的模型中更快(如果它在单独的模型中,则必须进行连接才能获得主体),并且可能比将其作为文件存储在文件系统中更快。您没有将正文用作主键,因此长度实际上并不重要。

    您完全可以在数据库中存储相对较大的正文。如果您指的是性能,则有两个角度:

  • 搜索。您不应该在数据库中进行自由形式的搜索。您可以使用ElasticSearch类工具的特定功能

  • 为大量文本服务。当然,如果你想展示它,你可以使用GZIP压缩,这将大大减少带宽


  • 感谢您提供有关ElasticSearch类工具的精彩建议。对于来自谷歌的用户,以下是我找到的最简单的博客教程: