IBM BPM Search API如何实现不区分大小写的搜索查询?
IBM BPM 搜索API不区分大小写匹配方案
说明
IBM BPM 搜索接口/rest/bpm/wle/v1/search/query默认的Equals匹配操作符严格区分大小写,因此条件assignedToUser|Equals|dave无法匹配到值为Dave的任务结果,可通过以下方案实现需求:
解决方案
- 方案1:使用
EqualsIgnoreCase操作符(推荐,适配IBM BPM 8.6及以上版本)
直接替换条件中的操作符即可实现不区分大小写的完全匹配,修改后的条件示例:condition=assignedToUser|EqualsIgnoreCase|dave
完整请求示例:https://{host}:{port}/rest/bpm/wle/v1/search/query?secondSort=taskPriority&size=500&organization=byTask&sort=taskReceivedDate&filterByCurrentUser=false&columns=instanceName,taskActivityName,assignedToUser,instanceName,taskPriority,taskReceivedDate,assignedToRole,instanceId,instanceStatus&condition=assignedToUser|EqualsIgnoreCase|dave
- 方案2:使用
Matches正则匹配操作符(适配所有支持正则匹配的版本)
借助正则的不区分大小写前缀(?i)实现匹配,条件中增加^和$限定为完全匹配,避免匹配到包含目标值的其他字符串,示例:condition=assignedToUser|Matches|(?i)^dave$ - 方案3:多条件OR拼接(极低版本兜底方案)
若当前版本不支持上述两种操作符,可将所有大小写组合的匹配条件用OR拼接使用,示例:condition=assignedToUser|Equals|dave OR assignedToUser|Equals|Dave OR assignedToUser|Equals|DAVE
内容的提问来源于stack exchange,提问作者Pramod H G
相关产品推荐
相关产品推荐

