鉴于Lucene是一个强大的基于文档的搜索引擎,它可以用作简单应用程序(E.G.,CMS样式应用程序)的对象数据库,如果是这样,您认为哪些优点和局限性?
我了解RDBMS的作用(并且每天都使用它们),但是他们会探索其他技术/想法。
例如,我的域名实体就像:
[Serializable]
public class Employee
{
public string FirstName {get;set;}
public string Surname {get;set;}
}
我可以使用反射并将Employee对象的属性值存储为Lucene文档中的字段,还将Employee对象的二进制序列化版本存储到同一Lucene文档中的另一个字段中吗?
答案 0 :(得分:1)
没有。试图将Lucene用作有效的OODB(面向对象数据库)就像试图将方形钉固定在圆孔中一样。他们真是两个完全不同的野兽。
Lucene擅长构建一组文档的文本索引......不存储对象(在编程意义上)。也许你误解了面向对象数据库是什么。您可以在维基百科查看定义:
面向对象的数据库占有一席之地。如果您真的有一个可以从OODB中受益的应用程序,我建议您查看InterSystems Caché
之类的内容。