2010-07-29 80 views
0

我正在开发一个组件,用于存储URL并维护与这些URL关联的一组特定关键字。对于示例 -使用关键字存储网址 - 最佳方法是什么?

网址:http://www.imdb.com 关键词:搜索,电影,电影指数,回顾

自己不受数量的限制关键字。网站数量可能在10K到100K之间。使用关键字关联和存储网址的最佳方法是什么?这应该支持通过关键字搜索和基于关键字组合的列表。我当然觉得这不是一个好的方法来使用关系数据库。

也许我的问题总结为“如何做一个搜索引擎的工作。”但我正在寻找更具体的信息,如是否有可用于存储关键字和索引的工具?我听说过Apache Lucene,这似乎更像是一个全文搜索引擎。

是什么计算器内部使用的关键字相关联的文章?

+0

你应该看Apache Solr实现(建立在Lucene的),您的需要。它完全符合你的需求。 – Mikos 2010-07-29 13:28:43

回答

1

你真的应该使用一个完全规范化的数据库设计。

URLS,每个A表与唯一URLID。的KEYWORDS,各表一中独特的KEYWORDID,最后一个表来描述他们分享的关系,TABLE_URL_KEYWORDS,与列KEYWORDID,并URLID两个在一个URL一起链接到许多KEYWORDS关系。

您不必担心性能,良好的数据库系统对于这些类型的操作速度非常快,他们已经专门用一记规范化格式设计。 100k URLS以及100k KEYWORDS,并且400K关系记录对于那里所有流行的数据库系统来说是完全可管理的。

如果你走了一条不同的路线,那么IE将会变得非常规混乱,这将会让你花费大量的时间来整理,或者让其他人整理出来,然后再排队等候。我会投入大量资金,StackOverflow存储数据的格式与上述基本相同。

+0

那么说...虽然海报将有问题重新:谷歌,现在httpS://www.google.com还活着。 – NinjaCat 2010-07-29 09:17:04

+0

对于OP,我认为他可以从协议中删除URL,因为它可能不会改变网站的描述。然而,如果他决定这很重要,那么你可以将每个协议作为单独的URL输入(最简单也可能是最好的),或者你可以完全规范化,其中有几种方法可以做到这一点,所有这些方法开始成为一个更复杂一点。 – 2010-07-29 09:45:51

相关问题