1

鉴于 Lucene 是一个强大的基于文档的搜索引擎,它可以用作简单应用程序(EG、CMS 风格的应用程序)的对象数据库吗?如果可以,您认为有什么好处和限制?

我了解 RDBMS 的作用(并且每天都在使用它们),但我想探索其他技术/想法。

例如说我的域实体是这样的:

[Serializable]
public class Employee
{
    public string FirstName {get;set;}
    public string Surname {get;set;}
}

我是否可以使用反射并将 Employee 对象的属性值存储为 Lucene 文档中的字段,并将 Employee 对象的二进制序列化版本存储到同一个 Lucene 文档中的另一个字段中?

4

1 回答 1

1

不。尝试将 Lucene 用作有效的 OODB(面向对象的数据库)就像尝试将方形钉插入圆孔中一样。他们真的是两种完全不同的野兽。

Lucene 擅长为一组文档构建文本索引……而不是存储对象(在编程意义上)。也许你误解了什么是面向对象的数据库。您可以在 Wikipedia 上查看定义:

对象数据库

面向对象的数据库有它们的位置。如果您确实有一个可以从 OODB 中受益的应用程序,我建议您查看类似InterSystems Caché

于 2009-06-05T02:40:06.277 回答