首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LDAP搜索筛选器/查询中使用通配符

在LDAP搜索筛选器/查询中使用通配符
EN

Stack Overflow用户
提问于 2012-03-05 17:14:43
回答 4查看 127.5K关注 0票数 27

我在AD和LDAP查询方面的知识非常有限,所以我有一个关于如何使用通配符的简单问题。

假设有一个displayName为"ITSM -问题管理“的对象

我目前使用通配符实现的过滤器是这样的:

代码语言:javascript
复制
(displayName=SEARCHKEYWORD*)

如果用户输入关键字"Problem",他将无法找到对象,因为它需要名称的第一部分,即"ITSM -“

我想在两端实现通配符,如下所示:

代码语言:javascript
复制
(displayName=*SEARCHKEYWORD*)

理想情况下,这将允许输入" Problem“,并让它搜索"ITSM -Problem Management”。但是,当您将通配符放在开头时,它似乎不起作用。当我尝试它时,它似乎挂起了,并且没有返回任何结果。

关于如何解决这个问题,有什么想法或想法吗?任何意见都将受到高度赞赏。谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-06 07:23:02

带有尾随*的筛选器参数几乎可以立即通过索引查找来计算。前导*表示对索引的顺序搜索,因此它是O(N)。这将需要很长时间。

我建议你重新考虑这个要求。

票数 35
EN

Stack Overflow用户

发布于 2014-11-08 05:12:32

最好的办法是预测前缀,所以:

代码语言:javascript
复制
"(|(displayName=SEARCHKEY*)(displayName=ITSM - SEARCHKEY*)(displayName=alt prefix - SEARCHKEY*))"

笨拙,但我在我的组织内部也在做类似的事情。

票数 7
EN

Stack Overflow用户

发布于 2012-03-05 17:38:00

这应该是可行的,至少根据MSDN网络上的Search Filter Syntax文章。

你已经注意到的“挂断”可能只是一个延迟。尝试使用较窄的作用域(例如,测试对象所在的特定OU )运行相同的查询,因为如果对所有AD对象运行该查询,可能需要很长时间才能进行处理。

您也可以尝试将过滤器分成两部分:

代码语言:javascript
复制
(|(displayName=*searchstring)(displayName=searchstring*))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9564120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档