是否有开箱即用的全文搜索的面向对象数据库?

时间:2009-11-16 19:10:07

标签: database search database-design

我的任务是将大量数据插入到面向文档的数据库(其中任何一个)中,并将其作为一个整体进行全文搜索(在所有或任何字段上)。

我是否必须使用数据库和单独的全文搜索索引(如Solr),还是有面向文档的DB与内置的全文搜索类型?

2 个答案:

答案 0 :(得分:0)

我认为您可以查看开源数据库(Firebird,PostgreSQL或MySQL)和开源FullText搜索引擎(Lucene或Sphinx)。

通常单独的全文搜索索引更快。

答案 1 :(得分:0)

首先,我不知道。全文搜索在OODBMS范例中有点奇怪。所以我会采用不同的方法。

我会选择PostgreSQL,因为:

  • 您可以使用XML或JSOn为文档部分构建混合的面向文档的/关系数据库
  • 它是高度可编程的,因此如果需要,您应该能够将各种完整搜索选项集成到后端
  • 它支持使用各种语言编写的存储过程,包括Perl,Java和Python,以及
  • 数据库有对象关系扩展,可以在您查找OODBMS的上下文中更轻松地使用它。本质上,您可以在PostgreSQL中构建数据库,其中表是包含一组对象的类,而不是一组行。区别在于您可以为对象构建复杂的接口,包括派生信息等。

我接下来要做的是评估开箱即用的全文搜索。如果这符合您的需求,请继续使用。如果没有,那么接下来要做的就是使用PL / Java集成Lucene,如果这是可行的话。如果没有,那么您可以将Lucene放在环境的单独组件中。