首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于具有搜索功能的站点,建议采用哪种数据库模式?

问对于具有搜索功能的站点,建议采用哪种数据库模式?
EN

Software Engineering用户
提问于 2011-08-08 17:26:57
回答 2查看 430关注 0票数 3

目前,我正在尝试选择最好的DB范例来实现一个具有全文搜索和分面搜索功能的网站。我有一个重要的功能要求:

数据库范例应该在软件生命周期的每个部分都支持强大的概念模式修改。

例如,我们的业务可以在注册表上设置一个额外的数据项,在任何搜索中都应该考虑到这一点。如果我们使用关系模式,这种修改需要修改数据库模式(通过添加或删除行以及修改外键等)。显然,这可能导致不必要的可维护性问题。

  1. 我们应该使用基于文档的DB吗?(即XML数据库)
  2. 这个问题可以被视为纯粹的关系概念模式设计挑战吗?(也就是说,我们可以在设计关系数据库时考虑到所述的约束)
  3. 你认为这个问题应该用一个特定的范例来处理吗?
EN

回答 2

Software Engineering用户

回答已采纳

发布于 2011-08-08 17:58:49

我可能会建议另一种方法:使用一个索引/搜索库,比如Lucene或Lucene.net。他们已经实现了许多复杂的索引、搜索语法和优化。

(不确定这些是否合适,您没有提到特定的环境或语言)

如果您打算实现自己的数据库,那么将有一些您没有提到要考虑的设计注意事项。例如,用户可以仅通过映射到SQL部分文本查询的单词和短语进行搜索(从“%关键字%”等内容的文档中选择*),还是希望能够指定关键字、按字段搜索、按日期搜索等等?

票数 5
EN

Software Engineering用户

发布于 2011-08-08 18:04:01

另一个选择是实体-属性值模型。如果在大多数现代关系数据库管理系统中这样做,也可以获得全文搜索。

没有足够的信息来知道您的应用程序是否适合这样做。可能存在性能问题,必须将值转换为单独的列,amy提出了动态编码挑战。

有很多关于NoSQL类型数据库的优缺点的文章。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/99470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档