LDAP:搜索子字符串并匹配普通ascii的特殊字符

时间:2014-10-23 17:32:05

标签: ldap openldap ldap-query

我的方案是我有一个搜索功能,您可以使用它来过滤用户条目。用户传递搜索字符串,将显示匹配的条目。

创建的过滤器是

(displayname=*$SEARCH*)

使用$ SEARCH作为用户的输入。

到目前为止这是有效的。但是现在,用户正在键入sud(已经花费在*sud*上),并希望找到显示名为“asüdf”的条目。这适用于Active Directory,但不适用于OpenLDAP(未尝试其他服务器)。

LDAP有一个邻近运算符,〜=。但它不接受通配符,即不能进行子字符串搜索。

是否有通用的方法以及如何在客户端的LDAP上完成它?或者LDAP服务器是否需要额外配置(也是通用或特定于供应商的?)

1 个答案:

答案 0 :(得分:0)

如果您打算进行近似或听起来像(=〜)匹配,则需要在目录服务器上为要搜索的属性创建 类似 的索引对

如果要对属性执行子字符串搜索,这类似于添加 子字符串 索引。

同样,它可能不完全符合您的目的,因为它的语音会因语言而异。