加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 如何在数据库中存储文章或其他大文本

发布时间:2020-12-16 01:53:30 所属栏目:百科 来源:网络整理
导读:我目前正在设计一个数据库驱动的网站。主要原因是为了学习目的,但我不会说谎,有少量的虚荣! 虽然我相信我的数据库设计是相当不错,到目前为止,我仍然不完全确定存储文章或其他大文本的最佳方式。我知道大多数DBMS具有TEXT数据类型或等效,并且可以容纳大
我目前正在设计一个数据库驱动的网站。主要原因是为了学习目的,但我不会说谎,有少量的虚荣!

虽然我相信我的数据库设计是相当不错,到目前为止,我仍然不完全确定存储文章或其他大文本的最佳方式。我知道大多数DBMS具有TEXT数据类型或等效,并且可以容纳大量的文本。但是,将整篇文章存储为一个长字符串会导致不愉快的阅读,因此需要格式化。

我是否将文章文本与所有HTML或BBcode标记一起存储?或者最好只是在HTML或XML文档中创建页面,并将该文件的路径存储在DB中?

我非常喜欢将文章存储为XML文档的想法,因为我可以轻松地用自定义标记标记文章,并使用PHP的XML和XSLT函数将XML转换为HTML [或其他任何格式]。它还允许作者决定何时创建线/分页符。这种方法当然需要额外的编码[我不害怕],但它确实存在一个问题,使文章可搜索。

例如,我知道MySQL具有用于在文本字段中保存的字符串中搜索特定术语/短语的SQL语法。如果我要将文本存储在单独的文件中,我如何使这些文章可搜索?

有很多我在这里写这么简单的问题,所以我会打破它:

1:有一种“最好的”方式来存储大量的格式化文本直接在数据库或
2:最好是以HTML / XML /无论文档的形式保存该文本的路径。

如果2,有一个优雅的方式使文本可搜索?

感谢您的时间 :)

像亚历克斯建议的,将一切存储在一个大文本字段。对于搜索,不要敲击数据库,使用 Lucene或 htdig来创建输出的索引。这种方式搜索非常快。副作用是你让搜索更多的搜索引擎友好;你把你的关键字字段(如反斜杠建议),并粘贴在meta-keywords属性。

编辑

除非你只是搜索关键字,让数据库做搜索将是非常慢的(曾经搜索论坛,它需要永远?)。数据库没有办法索引a

select.. where FULLTEXTFIELD like '%cookies%'.

它是令人沮丧的寻找一篇文章,搜索不返回您正在寻找的结果,因为他们不在关键字字段! Htdig允许您有效地搜索文章的全文。您的搜索将立即回来,并且文章中的每个词条都可以完全搜索。将关键字放在元标记中会使搜索结果页上的这些字词更高。

另一个好处是模糊匹配。如果搜索“activate”,htdigg将匹配具有活动,激活,活动等(可配置)的页面。或者如果用户拼写一个单词,它仍然会匹配。您希望您的用户拥有Google的体验,而不是令人讨厌的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读