|
|
1
20
按照Alex的建议,将所有内容存储在一个大文本字段中。搜索时,不要敲打数据库,使用 Lucene 或 htdig 创建输出的索引。这样搜索速度非常快。副作用是你让你的搜索引擎更友好一点;你把你的关键字字段(如反斜杠建议的那样)粘贴在meta-keywords属性中。 编辑 除非你只搜索关键词,让数据库做搜索会非常慢(搜索过论坛,而且要花很长时间吗?)。数据库无法索引
寻找一篇文章是令人沮丧的,搜索没有返回你正在寻找的结果,因为它们不在关键字字段中!htdig允许您高效地搜索文章的全文。您的搜索将立即返回,文章中的每个术语都是完全可搜索的。将关键字放在元标记中会使搜索结果页面中这些术语的搜索率更高。 另一个好处是模糊匹配。如果搜索“activate”,htdigg将匹配具有active、activation、activity等(可配置)的页面。或者,如果用户拼错了一个单词,它仍然会匹配。你希望你的用户有一个类似谷歌的体验,而不是一个烦人的体验。:) 您确实需要一个脚本来创建指向数据库中所有页面的链接列表。让htdig自动抓取这个,你就再也不用想了。 另外,htdig也会对非数据库页面进行爬行,这样整个站点就可以通过相同的简单界面进行搜索。 对于关键字字段,您 应该 有一个单独的表,名为keywords,具有文章的ID和关键字字段(每行1个关键字)。但是为了简单起见,在数据库中使用一个字段并不是一个糟糕的主意,如果您将它放在一个表单中,那么更新关键字就非常容易了。 如果你不想为这一切烦恼,你可以尝试使用 Google custom search . 它的工作要少得多,但您不能保证所有页面都会被索引。 祝你好运! |
|
|
2
9
为了存储大量文本(64 kbytes到4 gbytes,具体取决于RDBMS),创建了文本、bigtext、longext和其他数据类型字段。它们只是创建一个二进制指针来定位数据库中的文本,而不是直接存储在表中。如果将路径存储在varchar字段中以定位文档,则几乎是相同的过程,但是将其存储在数据库中可以更容易地进行维护,因为如果删除行,则文档将随该行一起消失,而无需在其他过程中删除它(就像存储为文件一样)。从逻辑上讲,这会使您的数据库更大,有时备份和传输起来也不那么容易,但是逐个传输文档会非常繁琐和缓慢。 如您所见,这取决于数据库中文档和行的数量。 对于搜索过程,我建议创建一个新的“关键字”字段以加快搜索速度。您也可以搜索文档的前n个字符,将它们转换为char或varchar,如果它们还没有特定的字段,可以将标题和副标题定位到这些数量中。 |
|
|
3
3
根据您对所有内容的安排和安装方式,很难从远程客户机访问外部文件,而远程客户机可以很好地访问数据库——那么,为什么不将所有XML保存到一个文本字段中呢?如果DB引擎不能很好地处理该负载,您可以重构一些东西,以便稍后对其进行优化,但这是最简单的启动方法。 |
|
|
4
2
快速查看本机XML DBS。有几个,一些非常好的是免费的。 搜索存在,文档xdb,Oracle Berkeley。 如果您坚持、查询和更新半结构化的文本,并且结构有任何深度,那么如果您坚持使用指针的RDB,或者使用点技术(stuff-it-in-a-blob技术),那么您几乎肯定是在做这件事——尽管有许多外部原因表明这些架构是必要的和成功的。 在提交设计之前,先阅读一下xpath和xquery。这里是一个很好的起点: https://community.emc.com/community/edn/xmltech |
|
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 1 年前 |
|
|
surge3333 · 使用PowerShell构建XML 1 年前 |
|
|
Sandeep · XSLT代码,用于根据条件提取元素值 1 年前 |
|
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 1 年前 |
|
Ian Kemp · 如何从SelectXml调用本机XPath函数? 1 年前 |