你能用Lucene作为OODB吗?

时间:2009-06-05 02:25:43

标签: c# lucene object-oriented-database

鉴于Lucene是一个强大的基于文档的搜索引擎,它可以用作简单应用程序(E.G.,CMS样式应用程序)的对象数据库,如果是这样,您认为哪些优点和局限性?

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

例如,我的域名实体就像:

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

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

1 个答案:

答案 0 :(得分:1)

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

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

Object Databases

面向对象的数据库占有一席之地。如果您真的有一个可以从OODB中受益的应用程序,我建议您查看InterSystems Caché

之类的内容。