我有一个LDIF文件。我想从中提取信息,例如返回某个属性具有特定值的所有对象,或返回所有对象的特定属性的值。我希望这个效率很高,即使LDIF文件的大小是千兆字节。
显而易见的事情是在OpenLDAP中导入它,但是,我似乎缺少一些架构信息。我的LDAP技能有限,但我总是遇到这个错误:
$ slapadd -n 0 -F /etc/ldap/slapd.d -l config.ldif
5b1b9f46 PROXIED attributeDescription "DC" inserted.
5b1b9f46 <= str2entry: str2ad(instanceType): attribute type undefined
slapadd: could not parse entry (line=1)
_ 0.06% eta none elapsed none spd 7.1 M/s
Closing DB...
我的研究表明,使用OpenLDAP导入此LDIF文件并非易事。
另一个想法是以某种方式将其导入SQL。显然有几种方法可以存储分层数据,但它们似乎都没有产生廉价查询。我很高兴它基本上是只读的,所以我不在乎插入物是否昂贵。
我正在使用Linux,我更喜欢python中的解决方案。
有什么想法吗?
答案 0 :(得分:0)
由于我是python-ldap的LDIF解析器的作者,所以我会说它太慢了,并且对于如此大的数据也会占用太多内存。
我建议检查所需的架构,然后使用 slapadd 将数据加载到OpenLDAP。这可能需要一些工作,但绝对不是火箭科学。