Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jdbc 如何从LDAP将数据导入ApacheSolr索引_Jdbc_Solr_Ldap_Integration - Fatal编程技术网

Jdbc 如何从LDAP将数据导入ApacheSolr索引

Jdbc 如何从LDAP将数据导入ApacheSolr索引,jdbc,solr,ldap,integration,Jdbc,Solr,Ldap,Integration,我有一个包含大量用户数据的LDAP服务器,希望将其导入ApacheSolr索引。问题不在于这是否是一个好主意(如前所述)。我需要这种体系结构,因为我们的一个生产系统依赖于ldap数据的Solr索引 我正在考虑不同的选择,但我不确定应该选择哪一个: 选项1:使用Apache解决方案: 这似乎是最直接的解决方法。不幸的是,似乎没有可用的数据源可用于LDAP 我尝试将JdbcDataSource与。从理论上讲,这可能可行,但驱动程序看起来相当过时(2007年的最新版本) 另一种选择可能是使用一些用于J

我有一个包含大量用户数据的LDAP服务器,希望将其导入ApacheSolr索引。问题不在于这是否是一个好主意(如前所述)。我需要这种体系结构,因为我们的一个生产系统依赖于ldap数据的Solr索引

我正在考虑不同的选择,但我不确定应该选择哪一个:

选项1:使用Apache解决方案:

这似乎是最直接的解决方法。不幸的是,似乎没有可用的数据源可用于LDAP

我尝试将JdbcDataSource与。从理论上讲,这可能可行,但驱动程序看起来相当过时(2007年的最新版本)

另一种选择可能是使用一些用于Java的LDAP库编写自定义LdapDataSource(可能是直接通过JNDI或类似的东西?)

选项2:构建自定义馈线:

另一种选择可能是编写一个独立的服务/脚本,在两个服务之间架起桥梁。然而,这感觉有点像重新发明轮子

选项3:我还没有想到的事情:


也许这里还有一些我还没有发现的选项。

通过为Solr DataImportHandler编写自定义LDAP数据源解决了这个问题

这并不像听起来那么难。JdbcDataSource可以用作编写自定义数据源的模板,因此基本上您只需要为LDAP协议重写一个Java类

对于访问LDAP客户机,有许多选项,例如普通JNDI、未绑定LDAP SDK、Apache LDAP API、OpenDJ LDAP SDK或OpenLDAP JLDAP(可能还有更多选项,但我只看了一下)

我选择了unboundedldap,因为它有很好的API文档,并且完全支持LDAPv3

之后,只需从data-config.xml引用数据源即可

此设置的一个很好的副作用是,在索引LDAP服务器(实体处理器和转换器)时,您可以使用Solr DataImportHandler提供的所有优点。这使得在LDAP和Solr索引之间映射数据结构变得很容易